AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ComObj und Thread

Ein Thema von EWeiss · begonnen am 22. Mai 2014 · letzter Beitrag vom 22. Mai 2014
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: ComObj und Thread

  Alt 22. Mai 2014, 10:19
So wie ich das verstanden habe muss das innerhalb des Thread-Kontext aufgerufen werden wo das ComObj dann auch benutzt wird.
Ich hab es mal versucht aber es macht keinen Unterschied ob mit oder ohne.
Hmm wider mal so ein Problem.

Sollte nicht so einfach sein denn der Thread ist in einer DLL und wird von außen gesteuert.

Danke für eure Hilfe muss mich mal intensiver damit beschäftigen.

Der Thread wird ja in einer Funktion erstellt nicht zum aktuellen Thread-Kontext zählt.
Ist eine einfache Classe in der die API Messagen/Funktionen von der Anwendung zur DLL geschickt werden
Vielleicht muss ich die Execute Funktion dann in der Classe einlagern zu der mein Thread gehört.

Ist immer ein Kampf wenn das eine zum anderen nicht passt.

gruss

Geändert von EWeiss (22. Mai 2014 um 10:47 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: ComObj und Thread

  Alt 22. Mai 2014, 11:38
Hab gerade was gefunden in wie weit ist das Aussagekräftig?

Zitat:
On a different note, ComObj calls CoInitialize/Ex only for EXEs, not for DLLs. A DLL's lifetime and threading requirements is a subset of its host application. Therefore, it is the responsibility of the host application to initialize the COM runtime before calling into a DLL application. Explicitly calling CoInitialize/Ex in a DLL can result in unpredictable behavior and nasty runtime failures.
EDIT:
Ok das wars
Innerhalb der DLL hat das keinerlei Auswirkung.
Wenn ich hingegen die Initialisierung in der EXE ausführe bevor ich das Plugin starte funktioniert es.

gruss

Geändert von EWeiss (22. Mai 2014 um 11:49 Uhr)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#3

AW: ComObj und Thread

  Alt 22. Mai 2014, 15:34
Muss das Com-Objekt nicht in den Thread gemarshalled werden (CoMarshalInterThreadInterfaceInStream), da es ja in einem anderen Threadkontext erstellt wurde?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: ComObj und Thread

  Alt 22. Mai 2014, 15:42
Muss das Com-Objekt nicht in den Thread gemarshalled werden (CoMarshalInterThreadInterfaceInStream), da es ja in einem anderen Threadkontext erstellt wurde?
Weiss jetzt nicht was du damit meinst in D2010 ?
Und wenn es geht wie stelle ich das an ?

Lieber wäre mir das natürlich wenn es innerhalb meiner DLL laufen würde
macht mich unabhängig von den Anwendungen.

gruss
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#5

AW: ComObj und Thread

  Alt 22. Mai 2014, 16:22
Weiss jetzt nicht was du damit meinst in D2010 ?
Hat imho nix mit D2010 zu tun, sondern mit der Tatsache, das so ein COM-Objekt nicht einfach so in einen Thread gestopft werden kann (d.h. übergeben/verwendet). Das Teil muss 'gemarshalled' werden, also COM=>stream=>thread=>stream=>COM.

Such doch einfach mal nach Beispielen zu der Methode mit dem Monsternamen.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: ComObj und Thread

  Alt 22. Mai 2014, 16:32
Weiss jetzt nicht was du damit meinst in D2010 ?
Hat imho nix mit D2010 zu tun, sondern mit der Tatsache, das so ein COM-Objekt nicht einfach so in einen Thread gestopft werden kann (d.h. übergeben/verwendet). Das Teil muss 'gemarshalled' werden, also COM=>stream=>thread=>stream=>COM.

Such doch einfach mal nach Beispielen zu der Methode mit dem Monsternamen.

Hab ich schon aber schlau wird man nicht gerade daraus.
Ich habe zwei Interface IWMPEffect und IWMPEffect2 wie soll ich die jetzt marshallen?
Wie schon gesagt es funktioniert wenn ich es von der Anwendung heraus initialisiere aber nicht innerhalb der DLL.


gruss

Geändert von EWeiss (22. Mai 2014 um 16:34 Uhr)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#7

AW: ComObj und Thread

  Alt 22. Mai 2014, 16:42
http://www.delphipraxis.net/60239-co...tml#post408666
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:59 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 by Thomas Breitkreuz