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
 
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: ComObj und Thread

  Alt 22. Mai 2014, 09:49
Das ist aber bekannt und aus dem Grund ruft man in einem Thread, der solche ComObj benutzt immer CoInitialize und CoUninitialize auf.

Prominentes Beispiel dafür sind die ADO-Komponenten.

Delphi-Quellcode:
procedure TMyThread.Execute;
begin
  inherited;
  CoInitialize( nil );
  try
    DoExecute;
  finally
    CoUninitialize;
  end;
end;

procedure TMyThread.DoExecute;
begin
  while not Terminated do
  begin
    ...
  end;
end;

Also doch..
Die Frage ist nur wo sollte man die Initialisierung aufrufen bzw Uninitialisieren.
Jedesmal wenn ich ein neues ComObj erstelle und wieder freigebe ?
Ein TMyThread.Execute gibt es ja bei mir nicht da ich den Thread mit Win32 mitteln erstelle siehe

Delphi-Quellcode:
WMPThreadHandle := BeginThread(nil, 0, @BassWMPVisThread, pointer(PresetIndex),
  0, WMP_RenderThreadId);
Mein RenderThread basiert auf TThread dieser hat aber nichts mit dem Hauptthread gemein.
Es sollte aber kein Problem diesbezüglich entstehen denn aus diesen Thread sende ich alle Messagen über Events.
Sample..
PostThreadMessage(DriveThreadId, FDataReadyMsg, DataReady, 0);
gruss

Geändert von EWeiss (22. Mai 2014 um 09:55 Uhr)
  Mit Zitat antworten Zitat
 


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 04:10 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