Einzelnen Beitrag anzeigen

Alex_ITA01

Registriert seit: 22. Sep 2003
1.123 Beiträge
 
Delphi 12 Athens
 
#11

AW: XE4 Probleme beim Beenden der Anwendung - DoneMonitorSupport

  Alt 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
Miniaturansicht angehängter Grafiken
2013.09.10-13_08_05-001.jpg  
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat