AGB  ·  Datenschutz  ·  Impressum  







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

Thread COM-Objekt mit Callback

Ein Thema von Baeuerle · begonnen am 6. Jun 2006 · letzter Beitrag vom 6. Jun 2006
Antwort Antwort
Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#1

Thread COM-Objekt mit Callback

  Alt 6. Jun 2006, 10:53
Hallo zusammen,

ich habe einen Thread, der verschiedene Instanzen eines COM-Objektes initialisiert. Die Callback-Funktion des COM-Objektes liefert mir den Fortschritt einer Aktion. Der Fortschritt soll auf einem Formular ausgegeben werden.

Das Problem ist, dass das Fortschittsformular zwar angezeigt wird aber nicht aktiv ist!!! Warum???

Ich habe euch hier mal meine vorgehensweise schematisiert:
Delphi-Quellcode:

var ar: array of TtfProgress;

procedure TThread.Create();
begin
AddProgressWindowToArray;
end;

procedure TThread.Execute;
var COM_Find: IFinder;
    COM_Callback: ICallbackObject;
begin
OLEInitialize(nil);
COM_Callback:=CoCallbackObj.Create AS ICallback
COM_Find:=CoFinder.Create(COM_Callback);
COM_Fins.SearchAll('c:\');
end;

procedure TCallbackObject.Callback(FileName: PChar);
begin
ar[FIndex].Show;
ar[FIndex].tlFile.Caption:=Filename;
end;
Bin dankbar für eure Tipps
Baeuerle
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#2

Re: Thread COM-Objekt mit Callback

  Alt 6. Jun 2006, 13:10
Ist es nur nicht aktiv, oder wird die Fortschrittsanzeige nicht aktualisiert. Application.ProcessMessages könnte helfen.

Außerdem kommt es u.U. noch drauf an, was in deiner Sync-Methode des TThread-Abkömmlings steht ...
  Mit Zitat antworten Zitat
Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Thread COM-Objekt mit Callback

  Alt 6. Jun 2006, 14:34
thx

but: Application.ProcessMessages wir durchgeführt. Was darf den nicht in der Synchronize stehen???
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#4

Re: Thread COM-Objekt mit Callback

  Alt 6. Jun 2006, 15:23
Zitat von Baeuerle:
Was darf den nicht in der Synchronize stehen???
Da geht's nicht um dürfen. Prinzipiell wird alles innerhalb von Snychronize() im Hauptthread ausgeführt, es führt also den Sinn von Threads teilweise wieder ad absurdum ...
  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 08:56 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