Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.214 Beiträge
 
Delphi 12 Athens
 
#20

Re: Dynamisches Array von DLL übergeben

  Alt 6. Dez 2006, 16:20
Da die Array-Variable selber ein Pointer ist, kannst du auch direkt casten:
('s kommt aber darauf an, wie du es drüben verwenden willst)
Delphi-Quellcode:
function myArray: integer;
var
  testarr: array of byte;
begin
  SetLength(testarr, 2);
  randomize;
  testarr[0]:=random(9999);
  testarr[1]:=32;
  result:=Integer(testarr);
end;
oder etwas schöner ... du gibst ja einen Zeiger zurück
Delphi-Quellcode:
function myArray: pointer;
var
  testarr: array of byte;
begin
  SetLength(testarr, 2);
  randomize;
  testarr[0]:=random(9999);
  testarr[1]:=32;
  result:=pointer(testarr);
end;
und zurück dann z.B. so:
type Ttestarr = array of byte;

Ttestarr(myArray)

PS: randomize; nicht ständig aufrufen!

PSS:
SetLength(Arr, 0);
dat is schneller, da es direkt ClearArray aufruft ._.
Arr := nil;
$2B or not $2B
  Mit Zitat antworten Zitat