Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
Delphi 11 Alexandria
|
AW: Addresse eines var Parameters ermitteln
3. Mai 2023, 11:35
Du kannst doch einfach einen Pointer daraus machen. Das ist im Hintergrund auch nichts anderes und so wird es in anderen Sprachen ja bei der Übersetzung ohnehin deklariert (weshalb dann dort auch null übergeben werden kann).
Wenn du die Adresse mit @ abfragst, sollte die aber auch nil sein.
// EDIT:
Delphi-Quellcode:
procedure Test( var a: Int32);
begin
ShowMessage(IntToHex(NativeUInt(@a), 8) + ' - ' + BoolToStr(Assigned(@a), True));
end;
type
PInt32 = ^Int32;
procedure TestA(a: PInt32);
asm
call Test;
end;
procedure ExecTest;
var
b: Integer;
begin
b := 42;
Test(b);
TestA(@b);
TestA( nil);
end;
Sebastian Jänicke Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
Geändert von jaenicke ( 3. Mai 2023 um 11:41 Uhr)
|