Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi thread fehler: coInitialize wurde nicht aufgerufen ? (https://www.delphipraxis.net/87495-thread-fehler-coinitialize-wurde-nicht-aufgerufen.html)

agm65 1. Mär 2007 13:17


thread fehler: coInitialize wurde nicht aufgerufen ?
 
diesen fehler bekomme ich, wenn ich mein thread starte ? woran kann das liegen ?


Delphi-Quellcode:
var
 id1:longword;

Procedure test(Parameter : Pointer);
begin
showmessage('mein thread');
end;

BeginThread(nil, 0, Addr(test), nil, 0, id1);

agm65 1. Mär 2007 14:34

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
kann es sein , dass threads mit dualcores abkacken ?

shmia 1. Mär 2007 15:06

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
Warum verwendest du nicht die Klasse TThread?
Das sähe dann so aus:
Delphi-Quellcode:
procedure TAgm65Thread.Execute;
var
   i : integer;
begin
  CoInitialize(nil);
  try
     for i:=0 to 100 do
     begin
        sleep(100);
        Beep(1000 + i*20, 30);
        if i = 50 then
           Synchronize(Ausgabe);
     end;
  finally
     CoUninitialize;
  end;
end;
procedure TAgm65Thread.Ausgabe;
begin
   ShowMessage('Meldung vom Thread');
end;
ShowMessage innerhalb eines Threads (ohne Synchronize) ist übrigens verboten.
Zitat:

Zitat von agm65
kann es sein , dass threads mit dualcores abkacken ?

NEIN, kein Problem.

Zacherl 1. Mär 2007 15:08

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
Füge mal die Unit ActiveX hinzu und rufe vor dem Erstellen des Threads CoInitialize(nil) auf.

agm65 1. Mär 2007 15:45

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
Zitat:

Zitat von Florian Bernd
Füge mal die Unit ActiveX hinzu und rufe vor dem Erstellen des Threads CoInitialize(nil) auf.

danke läuft perfekt

agm65 1. Mär 2007 15:52

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
bekomme jetzt eine fehler meldung ungültiges fenster handle...gibt es bestimmte arten wie man in einem thread fenster behandelt ?

auf einmal verschwindet mein button ;) ?

shmia 1. Mär 2007 15:58

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
Zitat:

Zitat von agm65
bekomme jetzt eine fehler meldung ungültiges fenster handle...gibt es bestimmte arten wie man in einem thread fenster behandelt ?

Dacht ich schon, dass das nicht perfekt funktioniert. Hast du gelesen, was ich oben geschrieben habe ?
ShowMessage innerhalb eines Threads (ohne Synchronize) ist übrigens verboten.
Hast du umgestellt auf die TThread-Klasse??? Wenn nein, warum nicht???

Bernhard Geyer 1. Mär 2007 15:58

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
Zitat:

Zitat von agm65
bekomme jetzt eine fehler meldung ungültiges fenster handle...gibt es bestimmte arten wie man in einem thread fenster behandelt ?

auf einmal verschwindet mein button ;) ?

Stabil bekommst du das gar nicht hin. Die VCL ist nicht Thread-Save! Du mußt wenn schon auf pure Win32-API zurückgehen.

agm65 1. Mär 2007 16:02

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
also vcl und threads nicht zusammen ohne fehler ?? aber ich brauche eine anzeige.. damn

shmia 1. Mär 2007 16:06

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
Zitat:

Zitat von agm65
also vcl und threads nicht zusammen ohne fehler ??

Kann das sein, dass du etwas beratungsresistent bist??
Mein Fragen werden von dir auch nicht beantwortet. :evil:
Du sollst die Klasse TThread in Verbindung mit der Methode Synchronize verwenden!


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 Uhr.
Seite 1 von 3  1 23      

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