Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.468 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: ExtLib lässt sich nicht installieren

  Alt 26. Nov 2023, 16:15
Dank der Benutzung von with weiß der Compiler nicht genau, welches SizeOf er benutzen soll und entscheidet sich "zufällig" für das falsche SizeOf.
Nein, der Compiler weiß genau, welches SizeOf er benutzen soll: Das, was im kleinsten Scope ist, also:
  1. Methode aus dem mit with angegebenen Typ
  2. Unter-Funktion der aktuellen Methode
  3. Methode der aktuellen Klasse (+ ggf. Class Helper)
  4. Funktion aus aktueller Unit
  5. Funktion aus eingebundenen Units von hinten nach vorne
  6. System.SizeOf
(Wobei das noch komplizierter wird, wenn es mehrere Overloads gibt.)

Selbst ohne das with ist Zahl der Möglichkeiten also ziemlich groß.

/Klugscheißer

Einfachster Bugfix ist übrigens:
  cbSize := System.SizeOf(LNID);
Damit ist dem Compiler die Wahlmöglichkeit genommen.
Thomas Mueller
  Mit Zitat antworten Zitat