AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi CoInitializationEx in einer Anwendung mehrfach aufrufen...

CoInitializationEx in einer Anwendung mehrfach aufrufen...

Ein Thema von ChrisE · begonnen am 8. Sep 2009 · letzter Beitrag vom 8. Sep 2009
Antwort Antwort
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

CoInitializationEx in einer Anwendung mehrfach aufrufen...

  Alt 8. Sep 2009, 16:47
Hallo,

in diesem Thread habe ich bereits das Problem beschrieben, dass ich einen TOleServer / COM-Objekt in einem Thread-Modus bringen möchte. Das klappt ja auch soweit in einer Beispielanwendung mit.

Delphi-Quellcode:
initialization
  CoInitializeEx(nil, COINIT_MULTITHREADED); // Neu für Multithreading
finalization
  CoUninitialize;
Aber das Problem ist jetzt das in unserem Projekt mehrere COM-Objekts etc. verwendet werden. Alle die ich verwende benötigen Single Thread Apartment. Wie bekomme ich es jetzt hin, diesen einen Ole-Server mit dem Multi Thread Apartment zu starten?

Die MSDN sagt dazu, dass man es für einen Thread nur einmal setzten kann
Zitat:
Multiple calls to CoInitializeEx by the same thread are allowed as long as they pass the same concurrency flag...
Meinen die jetzt den Thread im Sinne von TThread oder meinen die die ganze Applikation?
Und wenn sie den Thread meinen, wie schaffe ich es einem TThread einen COM-Server einzubauen und MessageLoop und und und ?

Es ist mir klar, dass dies viele Fragen sind. Danke für Eure Hilfe.

Gruß, ChrisE
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#2

Re: CoInitializationEx in einer Anwendung mehrfach aufrufen.

  Alt 8. Sep 2009, 16:49
Du sollst in jeden TThread das CoInitialize einmalig aufrufen z.B. im Execute.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: CoInitializationEx in einer Anwendung mehrfach aufrufen.

  Alt 8. Sep 2009, 18:02
Zitat von generic:
Du sollst in jeden TThread das CoInitialize einmalig aufrufen z.B. im Execute.


Manchmal ist man wirklich wie vor den Kopf gestoßen. Ich hatte CoInitialize im Create aufgerufen. Aber das ist ja noch im Kontext der Applikation.

DANKE!

Gruß, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz