In Win64 hatten wir hier vor Kurzem ein kleines Problem, wo wir auch erst ratlos waren.
Ich hab es nicht mehr genau im Kopf, aber so grob in etwa kam es auf sowas raus.
Delphi-Quellcode:
var Global: Integer;
funktion Test(var i: Integer): Boolean;
begin
Global := i;
Result := irgendwas;
end;
if (Global = 0) and Test(i) then
In
Win32 wurde erst Global geprüft und dann Test ausgeführt,
aber in Win64 erst Test und dann Global.
Bzw. genauer war es eigentlich Win64 im C++, wo ein Code nach Win64 in Delphi konvertiert wurde und dort
falsch andere Ergebnisse lieferte.
(rein logisch, wo ich den Code betrachtete, sah es im Delphi für mich "richtiger" aus, aber das Ergebnis vom C++ war Vorgabe und dementsprechend mußte dann der Delphi-Code geändert werden)