![]() |
DisableThreadLibraryCalls und COM-Objekte
Habe mal vor einer halben Ewigkeit eine Kontextmenü-Shell Extension geschrieben, die läuft auch wunderbar.
Nun dachte ich mir, machste mal ein Property Sheet (nonVCL nach dem ) ![]() Baue ich aber DisableThreadLibraryCalls in DLL_PROCESS_ATTACH ein, klappt es wunderbar. Jetzt zu meinen eigentlichen Fragen: 1. Habe ich irgendwelche "unsichtbaren" Nachteile, wenn ich DisableThreadLibraryCalls einsetze? 2. Was bewirkt das überaupt? |
Re: DisableThreadLibraryCalls und COM-Objekte
Zitat:
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? |
Re: DisableThreadLibraryCalls und COM-Objekte
- Möglichkeit 1 kann es nicht sein, da ich ja erst eine LibraryProc eingefügt hab, nachdem der Fehler schon aufgetreten war
- Möglichkeit 2 denke ich mal auch nicht, da ich nur eine leere ActiveX-Bibliothek und ein COM-Objekt (Property Sheet) nach dem Tutorial verwenden brauche und schon tritt der Fehler auf. - Möglichkeit 3 könnte sein, kann ich natürlich nicht beurteilen. Einen Call-Stack habe ich nicht, wie komme ich da ran? Ich krieg immer nur verschiedenste Fehlermeldungen, z.B. "EResourceNotFound: TForm3 not found" oder so ähnlich (WinNc 2000 ist auch ein Delphi-Prog, klappt aber bei allen anderen Shell Extensions die auf meinem System sind perfekt). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz