Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: BeginThread - Methoden aufruf

  Alt 29. Aug 2010, 09:00
Selbst wenn die Klassen-Methode nicht statisch (static) ist, dann gibt es keine Felder, auf welche man zugreifen kann.

Eine Klassenmethode würd über die Klasse aufgerufen,
in soeinem Fall steckt in Self natürlich nur ein Klassenzeiger.
Normale Methoden werden über ein Objekt aufgerufen und enthalten dann in Self den Objektzeiger.

Von einer Klassen-Methode kann man also niemals auf die Felder eines Obektes zugreifen.

Lösung:
Übergib BeginThread eine Procedur oder eine statische Klassen-Methode und den Instanzzeiger zum Objekt, als Parameter.
Innerhalb dieser Prozedur/StaticMethod rufst du dann eine Objekt-Methode auf.
PS: TThread macht es intern auch nicht groß anders.

Oder nutze TThread und leite deine Klasse davon ab.

PS: Für sowas hatte ich auch mal mit wasrumgespielt:
http://www.delphipraxis.net/152311-t...en-lassen.html
Bzw. siehe die Links in Post #2 und #3.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (29. Aug 2010 um 09:43 Uhr)
  Mit Zitat antworten Zitat