Einzelnen Beitrag anzeigen

NicoDE
(Gast)

n/a Beiträge
 
#2

Re: DisableThreadLibraryCalls und COM-Objekte

  Alt 28. Jul 2004, 01:23
Zitat von scp:
1. Habe ich irgendwelche "unsichtbaren" Nachteile, wenn ich DisableThreadLibraryCalls einsetze?
2. Was bewirkt das überaupt?
DisableThreadLibraryCalls sorgt dafür, dass das Modul nicht mehr über das Erzeugen/Beenden von Threads im aktuelle Prozeß informiert wird. Kurz, DllMain wird nicht mehr mit DLL_THREAD_ATTACH/DLL_THREAD_DETACH aufgerufen.
Die DllMain ist bei Delphi-DLLs in der RunTime Library (RTL) gekapselt. Die Variablen DllProc und DllProcEx ermöglichen es, über die Aufrufe der DllMain informiert zu werden.

Ich sehe nur drei Möglichkeiten:
- deine LibraryProc(Ex) (falls vorhanden) reagiert falsch auf DLL_THREAD_ATTACH/DLL_THREAD_DETACH
- die RTL/Packages/Komponenten reagieren aufgrund unzureichender Konfiguration falsch (siehe IsMultiThread)
- die RTL hat einen Bug

Ansonsten kommen nur noch die üblichen Programmierfehler in betracht

Hast Du einen Call-Stack von dem Fehler?
  Mit Zitat antworten Zitat