Einzelnen Beitrag anzeigen

Benutzerbild von the_Sisyphos
the_Sisyphos

Registriert seit: 19. Nov 2003
2 Beiträge
 
Delphi 6 Enterprise
 
#19

Re: TThread mit WaitForMultipleObjects in DLL arbeitet nicht

  Alt 9. Dez 2003, 06:49
noch eine kleine Anmerkung nebenbei zu WaitForMultipleObjects über die ich beim Programmieren eines IP Scanners gestolpert bin .. diese Funktion kann nur mit maximal MAXIMUM_WAIT_OBJECTS Threads umgehen und dies sind (zumindest unter Delphi 6) 64 Stück. Wobei man zudem bedenken sollte das scheinbar diese Zahl die Gesamtzahl an Threads ist die Delphi ohne Probleme verwalten kann. Nachdem das Hauptprogramm auch in einem eigene läuft reduziert sich somit die maximal verfügbare Anzahl mit jedem weiteren Thread der sonst noch neben dem Hauptprogram läuft.

Das heißt NICHT das Delphi nicht mehr TThreads aufmachen kann, aber das heißt das die Funktion WaitForMultipleObjects ab sofort nurnoch -1 zurück liefert, also weder WAIT_OBJECT_0, WAIT_TIMEOUT noch WAIT_FAILED zurückliefert!!! Das heißt aber auch das bei einem normalen Programmfluß in dem das nicht abgefangen wird, das Programm schlicht weiter läuft anstatt stehen zu bleiben was unschöne Effekte haben kann.
  Mit Zitat antworten Zitat