Thema: Delphi Frage zu "absolute"

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Frage zu "absolute"

  Alt 17. Mär 2009, 10:50
jupp, ist richtig ... es wirdpraktisch nur eine neue Variable erstellt, welche aber im selben Speicher liegt, wie die andere Variable, welche per "absolute" angegeben wird. (bei nicht gleichgroßen Variablen liegt der Anfang des Speichers übereinander und weiter der jeweils erste Teil, welcher noch gleich groß ist)

[add]
Zitat von sirius:
Fast.
Wenn FSocket zwischenzeitlich einen neuen Wert bekommt, kriegt das MySock nicht mit.
sicher? (mal ausprobier)

[add2]
@DevilsCamp: Delphi meckert bei deinem code übigens auch
Zitat:
[DCC Fehler] Unit1.pas(64): E2088 Variable erwartet
a und result haben immer den selben Wert ... bei deiner Beschreibung würde Delphi den Wert für result kopieren und eine neue Variable erstellen.
Delphi-Quellcode:
function xyz: integer;
var a: longword absolute result;
begin
  a := 123;
  if a = 1 then ;
  if result = 1 then ;
  result := 456;
  if a = result then ;
  a := 789;
  if a = result then ;
end;
die D2009-OH kennt absolute wohl nicht und D7 sagt
Zitat:
Sie können eine neue Variable an der Adresse erstellen, an der bereits eine Variable existiert.
...
Diese Anweisung legt fest, dass die Variable StrLen an derselben Adresse wie die Variable Str beginnt. Da das erste Byte eines kurzen Strings dessen Länge angibt, ist der Wert von StrLen die Länge von Str.
$2B or not $2B
  Mit Zitat antworten Zitat