Forum: Object-Pascal / Delphi-Language
by Zacherl,
6. Nov 2017
Auf globale Variablen solltest du eigentlich zugreifen können. Dass der Zugriff auf Instanzmethoden nicht funktioniert, ist ja ganz logisch. Die aktuelle Instanz wird ja im Self Parameter übergeben. Fehlt dieser, ist auch die Instanz zur Laufzeit unbekannt bzw. existiert nichtmal.
Mit class function und static deklarierte Methoden sind im Grunde nichts anderes als globale freistehende...
Forum: Object-Pascal / Delphi-Language
by Zacherl,
3. Nov 2017
Wenn du die Funktion in eine Klasse packst, wird ein versteckter "Self" Parameter vom Compiler hinzugefügt. Das kannst du verhindern, indem du die Methode als class function Blabla(): Integer; static; deklarierst (+ cdecl natürlich, wenn gewünscht).