Zitat von
Gloegg_FHBI:
Wie kriege ich denn jetzt die
DLL dazu im Kontext der
VCL zu laufen?
praktisch gesehn ... garnicht
- man kann die Abarbeitung z.B. via Synchronize
in den Hauptthread verlegen (hier nicht so leicht möglich)
- man kann den zugriff auf gemeinsame Daten sperren
(ist mit der
VCL nicht leicht möglich)
- du kannst die Daten erstmal irgendwo in einer Liste zwischenspeichern
und dann im Haupthtread (Timer oder Eventgesteuert) dieses auslesen und dort ins Memo einfügen
für Lezteres gibt es mehrere Möglichkeiten
- SendMessage (oder auch Synchronize)
man brauch nicht extra Speicher anlegen, da er direkt weitergegeben wird,
aber solange bis sich der Haupthtread der Abarbeitung annimmt, wartet der andere Thread
und auch wärend der Haupthtrad dann arbeitet
- PostMessage
man kopiert die Daten irgendwo hin und gibt (eventuell samt Datenzeiger) denm Haupthtread nur eine Nachricht, die Abarbeitung hier geht danach sofort weiter
und der Haupthtread nimmt sich, sobald er Zeit hat, diese Nachricht/Message und fügt es ins Memo ein
- passend zu PostMessage oder Eventsteuerung hab ich mir auch noch das gebastelt
http://www.delphipraxis.net/internal...t.php?t=167796
da kann man die Daten kurzzeitig einlagern und dann im Hauptthread wieder rausholen
über 'nen threadsicheren Zugriff auf die Daten kümmert sich dann die Klasse
hier steht euch noch einiges dazu
http://www.delphipraxis.net/internal...t.php?t=167688