Delphi-PRAXiS
Seite 2 von 3     12 3      

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 16:09

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
hey sorry...das war echt unhöflich....okay kannst du mir genu erklären wie ich das machen ? ich habe keinen plan... :) sorry nochmal

DGL-luke 1. Mär 2007 16:14

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
Hallo,

du musst ganz einfach alle fensteroperationen im hauptthread durchführen. das machst du mit Delphi-Referenz durchsuchenSynchronize.

agm65 1. Mär 2007 16:21

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
kannst du mir code dazu posten ich stehe grade total auf dem schlauch...kriege nichtmal den hauptthread hin. okay ich bin morgen wieder da...in aller frische ! aber danke für kommenden antworten !

agm65 2. Mär 2007 09:58

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
*push*

DGL-luke 2. Mär 2007 17:39

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
Hallo,

implementiere einfach ein neues TThread-Derivat (Date->Neu->Thread).

Definiere ein public-feld "window" bzw. ein private-Feld "Window", das du im Konstruktor belegen lässt.

Definiere eine Prozedur "DoWindowOperation", in der du Fenster-Operationen durchführst und private-felder für alle Informationen, die diese Prozedur brauchen könnte.

In deiner überschriebenen Execute-Methode gehst du nun so vor:

Delphi-Quellcode:
self.WindowOperationType := wotSetLabelCaption;
self.WOpTargetLabel := SomeLabelIGotTheReference;
self.WOpTargetLabelNewCaption := '95%'; //whatever...

Synchronize(DoWindowOperation);
Selbstverständlich kannst du auch eine extra-Prozedur "UpdateProgressLabel" definieren.

Wichtig: Diese Prozedur kann leider keine Parameter übernehmen.

agm65 12. Mär 2007 18:51

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
also wenn ich zB das einbinde, dann bringt er mir das Synchronize als bezeichner nicht gefunden ?

Delphi-Quellcode:
unit Unit2;

interface

uses
  Classes;

type
  test = class(TThread)
  private
    { Private-Deklarationen }
  protected
    procedure Execute; override;
  end;

implementation

{ Wichtig: Methoden und Eigenschaften von Objekten in visuellen Komponenten dürfen
  nur in einer Methode namens Synchronize aufgerufen werden, z.B.

      Synchronize(UpdateCaption);

  und UpdateCaption könnte folgendermaßen aussehen:

    procedure test.UpdateCaption;
    begin
      Form1.Caption := 'Aktualisiert in einem Thread';
    end; }

{ test }

procedure test.Execute;
begin
  { Thread-Code hier einfügen }
end;

end.

ste_ett 12. Mär 2007 19:18

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.


DGL-luke 13. Mär 2007 15:39

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo, im Anhang ein Demoprojekt. Sollte eigentlich selbsterklärend sein.

Deinem ActiveX-Problem hilft das aber nicht.

EDIT: Neu hochgeladen.

agm65 13. Mär 2007 15:44

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
cool danke, ich kriege die zip file nicht entpackt ;) lol weder mit rar noch mit zip

! H:\thread-form-demo.zip: Unknown method in Pthreadform.bdsproj
! H:\thread-form-demo.zip: Unknown method in Pthreadform.dpr
! H:\thread-form-demo.zip: Unknown method in UfoMain.dfm
! H:\thread-form-demo.zip: Unknown method in UfoMain.pas
! H:\thread-form-demo.zip: Unknown method in UthrThread.pas
! H:\thread-form-demo.zip: Keine Dateien zum Entpacken

DGL-luke 13. Mär 2007 15:56

Re: thread fehler: coInitialize wurde nicht aufgerufen ?
 
Hallo,

sorry, 7zip verwurschtet die zip-archive da :roll: ich schieb gleich oben n neues rauf.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 Uhr.
Seite 2 von 3     12 3      

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