Hallo Delphi-Freunde!
Ich habe eine Hauptanwendung mit geladenen PlugIns (
DLL-Forms). Von der einen
DLL-Form starte ich einen Thread, der nach Updates sucht und diese auch läd. Klappt wunderbar. Das Downloaden geschieht via idHTTP. Nun fange ich innerhalb des Threads die OnWork etc ab und richtie eigene Methoden ein, um den Status anzuzeigen.
Ich leite also von unterster Ebene in die höchte (www-Komponente -> Thread -> TUpdater-Klasse über Property zu MainApp) in der MainApp ist dann folgende Prozedur vorhanden, die die Anzeige des Fortschritts regelt.
Prozedur ShowProgress(Sender: TThread; AWorkCount: Integer);
Das klappt auch wunderbar, ist nur etwas umständlich, denke ich.
Außerdem ist das alles
unsynchronisiert, da keine Funktion ausgeführt wird, wenn sie mit Synchornize aufgerufen wird. Das äußert sich folgendermaßen. Wenn ich in der MainApp bei
ShowMessage(IntToStr(aWorkCount));
aufrufe, sehe ich, dass die
VCL "verrückt spielt" (ich hoffe ihr wisst, was ich meine). Allerdings klappt es prima, eine Progressbar zu verändern etc.
Ich hoffe, ihr könnt helfen. Vielleicht auch einen ganz anderen Lösungsansatz geben.
Danke