Einzelnen Beitrag anzeigen

Rumpi

Registriert seit: 26. Aug 2003
Ort: Berlin
72 Beiträge
 
#10

Re: TThread mit WaitForMultipleObjects in DLL arbeitet nicht

  Alt 16. Nov 2003, 12:54
Hi Bernd,

... vorab schon mal Danke

Zitat von Bernd Ua:
Das dumme ist, dass in Deinem Profil und der frage nix zur Delphi Version steht
(... und dass ich normalerweise Synchronize meide <g>).
Ich verwende D6 und D7 ( manchmal auch noch D4 oder D1 ) sorry werde ich das nächste Mal angeben.

Zitat von Bernd Ua:
Synchronize erzeugt ein Event und stellt das Event in eine globale Variable namens SyncList ein (Unit Classes)
die bei GUI Applikationen automatisch ansonsten manuell über CheckSynchronize geprüft werden kann.
Hier haben DLL und EXE zweimal die globale Variable SyncList, dummerweise bleibt die Synclist der Exe immer leer
und Dein Event wird nie gerufen.
Workaround hier: Aktiviere bei EXE und DLL Runtimepackages ( rtl sollte reichen)
Ich habe nur im TimerThread Synchronize weggelassen und schon gings
Delphi-Quellcode:
  // Synchronize( Notify ); // so gehts nur wenn in einer EXE
  Notify; // und schon gehts auch in der DLL
                             // hatte ich ja schon als Alternative im code
Ich musste "nicht" in der EXE und oder der DLL Runtimepackages aktivieren

Danke noch einmal Bernd.

mfg Rumpi
  Mit Zitat antworten Zitat