Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Variablenwerte beim Erstellen von Objekt

  Alt 25. Jan 2014, 01:03
Das hängt damit zusammen, dass Klasseninstanzen auf dem Heap landen und somit automatisch mit 0 initialisiert sind/werden.
Temporäre statische Variablen hingegen landen im Stack, wo der Wert variabel ist.

Delphi-Quellcode:
procedure writeInternalVariable();
var
  x: Array[0..7] of Integer;
begin
  Writeln(x[0]); // schreibt "1234" effektiv
end;

begin
  asm
    mov DWORD [esp-$24], 1234
  end;
  writeInternalVariable;
  readln;
end.
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat