Hallo,
wenn ich einen Zeiger auf ein Array an eine andere Funktion übergebe, kommt dort nichts an.
Weiss jemand rat?
Hier mein Versuch:
unit UPointer;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type IntArray = Array of Integer;
pIntArray = ^IntArray;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
function getArray:stuck_out_tongue:IntArray;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
pIArray : pIntArray;
IArray : IntArray;
i : Integer;
begin
pIArray := getArray;
IArray := pIArray^;
for i:=0 to High(IArray)-1 do
Caption:=Caption+’ '+inttostr(IArray[i]);
end;
function TForm1.getArray:stuck_out_tongue:IntArray;
var
localArray : IntArray;
begin
setlength(localArray,10);
localArray[4]:=9;
result:=@localArray;
end;
end.
Danke, Chris