Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
3. Mai 2023
Ach du bekommst die Adresse.
Klang so, als gibst du denen den Parameter (so callback-mäßig) und der irgendwie als NIL zurück kommt.
Ja, in Delphi ist es etwas "umständlich", wenn man einem VAR-Parameter ein NIL reingeben will. (bei denen wurde es dann wohl einfach als Pointer deklariert)
// entspricht einem procedure Test(A, B: PInteger);
procedure Test(var A: Integer; B: PInteger);...
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
3. Mai 2023
Klar sollte Assigned natürlich auf NIL (C-isch als NULL) prüfen kommen. :gruebel:
Oder meinst das Variant-NULL?
Assigned macht ja auch nur <>nil.
Einzige Ausnahme sind Methoden-Zeiger, wo es zwei nil gibt.
Und was ist denn nun null?
* der Inhalt der Variable
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
3. Mai 2023
Das Problem lässt sich leicht lösen.
Einfach nur mit 64 Bit kompilieren.
Da gibt es dann nur noch eine Konvention (die zufällig sehr pascallig aussieht).
:duck:
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
2. Mai 2023
@ParameterName :angle:
VAR und CONST zeigen ja direkt zur eigentlichen Variable.
Irgendwas mit objektorientierem C?
Andersrum kenn ich es, dass z.B. aus gewissenm C++-igem öfters mal doppelte Zeigerdereferenzierungen zum Wert nötig sind,
denn die eigentliche Variable liegt ein einer VariablenObjektInstanz (dieser Nullableschrott) und als CONST-Parameter in der Funktion steht dann...