![]() |
Fortschritt einer Methode anzeigen
Hallo
ich habe (wie auch schon in anderen Postings erwähnt) eine Geräteklasse, die die API meines Gerätes abbildet, mann kann Werte im Gerät setzen, lesen, Gerätereset durchführen usw. usw. U.a. habe ich eine Funktion die mehrere Parameter aus einer Datei(INI-File) liest und diese Werte der Funktionen übergibt. Also folgendermaßen:
Delphi-Quellcode:
Nun ruft eine Steuerung, zB.: meine GUI die Methode
TGeraet.Write_ParameterToDevice(ParDatei:string):integer;
... function Write_ParameterToDevice(ParDatei:string):integer; begin ... Schreibe Parameter... Schreibe Parameter... Schreibe Parameter... ... end;
Delphi-Quellcode:
auf und ich will aber, dass mein Fortschritt (ungefähr 200 Parameter) angezeigt wird (am besten in einem Fortschrittsbalken)
Write_ParameterToDevice(ParDatei:string):integer;
Häßlich (so habe ich es vor ein paar Jahren noch gemacht (bitte nicht steinigen) :-))
Delphi-Quellcode:
einfach in die Funktion mit eingebaut (ja ich weiß niemals auf eine konkrete Implementierung programmieren, sondern nur auf Schnittstellen...
mainGui.fortschrittsbalken.Position:=0;
.. mainGui.fortschrittsbalken.Position:=10; .. mainGui.fortschrittsbalken.Position:=100; 2. mir bekannte Möglichkeit ein Eventhandler implmentieren
Delphi-Quellcode:
und diesen dann in der GUI registrieren und mit den Werten was machen zB.: einen Fortschrittbalken zeichnen..
OnShowFortschritt(Pos:Integer;Sender:TObject)
und in der Funktion die OnShowFortschritt einfügen
Delphi-Quellcode:
Wie würdet ihr das am besten umsetzen?
function Write_ParameterToDevice(ParDatei:string):integer;
begin ... Schreibe Parameter... OnShowFortschritt(10,self) Schreibe Parameter... OnShowFortschritt(20,self) Schreibe Parameter... OnShowFortschritt(100,self) ... end; Danke... :drunken: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 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-2025 by Thomas Breitkreuz