Registriert seit: 22. Sep 2003
1.123 Beiträge
Delphi 12 Athens
|
AW: XE4 Probleme beim Beenden der Anwendung - DoneMonitorSupport
10. Sep 2013, 13:13
Ich habe jetzt mal D2009 mit XE4 verglichen.
Das DoneMonitorSupport gibt es nämlich unter D2009 auch schon nur werden standardmäßig keine Events eingetragen (TMonitor.Enter -> TMonitor.GetEvent -> MonitorSupport.NewSyncObject).
Anbei mal ein Screenshot wo man den Unterschied im TThread deutlich sieht.
Das hat sich nämlich geändert zwischen den beiden Delphi Versionen.
(System.)Classes.pas
XE4: class procedure TThread.Synchronize(ASyncRec: PSynchronizeRecord; QueueEvent: Boolean = False);
Dort wird mit TMonitor.Enter/Exit gearbeitet
D2009: class procedure TThread.Synchronize(ASyncRec: PSynchronizeRecord; QueueEvent: Boolean = False);
Hier wird mit EnterCriticalSection(ThreadLock) und LeaveCriticalSection(ThreadLock) gearbeitet.
Schön wäre es jetzt natürlich, dass gleiche Verhalten wie unter D2009 wieder zu erzeugen.
Gruß
Alex
Let's fetz sprach der Frosch und sprang in den Mixer
|