![]() |
TXMLDocument: CoInitialize bei MultiThreading?
Hallo!
Ich verwende jetzt die TXMLDocument Komponente in einem Programm mit mehreren Threads. Auf die Komponente wird auch aus mehreren Threads aus zugegriffen. Wenn ich zB im Hauptthread ein FXML.LoadFromFile(Datei) aufrufe funktioniert dies problemlos. Rufe ich jedoch aus einem Thread dieses FXML.LoadFromFile(Datei) auf, bekomme ich die Meldung "CoInitialize wurde nicht aufgerufen". Mit CoInitialize und CoUnInitialize funcktioniert es. Jetzt die Frage(n): Was macht dieses CoInitialize? Wird die Verwendung der XML Komponente dadurch threadsicher? Sprich kann ich gleichzeitig aus mehreren Threads die Datei laden und reinschreiben? Falls dies nicht der Schlüssel ist, wie mache ich diese Komponente am besten threadsicher? mfg :angel: Edit: Den Text zu CoInitialize aus der Hilfe kenn ich schon, aber warum muss ich CoInitialize nur in nem Thread aufrufen und nicht im Hauptthread? |
Re: TXMLDocument: CoInitialize bei MultiThreading?
CoInitialize initialisiert innerhalb des Threads einige Dinge von Windows
(vorallem bezüglich der COM-Schnittstellen) ... siehe ![]() ![]() also Threadsicher isses wohl so oder so nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 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