Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

Synchronisierung mit MainThread ohne Thread-Kontext

  Alt 29. Jun 2010, 00:24
Delphi-Version: 2010
Und war interessiert mich, ob es möglich ist, mit dem MainThread zu synchronisieren, obwohl man sich nicht in einem TThread-Objekt befindet. TThread stellt ja automatisch die Synchronize() -Methode zur Verfügung. Aber selbst die statischen Klassenmethoden davon helfen mir nicht wirklich, da ich ja keine TThread-Instanz zur Verfügung habe.

Hintergrund des Ganzen ist, dass ich ein Handle im Kontext des MainThread erzeugen muss, um, darüber Nachrichten austauschen zu könnten. Mein Objekt will ich nicht von TThread ableiten, da es einfach unpassend ist. Zudem arbeitet diese Klasse als Singleton-Pattern mit Lazy Load, d.h. die einzige Instanz wird erst erzeugt, wenn diese auch zum ersten mal zum Einsatz kommt, d.h. im Klartext, dass auch ein Thread ungleich dem MainThread den Constructor aufrufen kann. Und genau hier liegt die Krux mit der Geschichte: im Constructor wird das Handle für die Klasse erzeugt.

Ich hoffe, dass die wichtigen Punkte klar rüber gekommen sind
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat