Einzelnen Beitrag anzeigen

generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#11

AW: Callbacks: Interface und/oder Methode? (DEC 6.0)

  Alt 29. Dez 2020, 12:53
Ich finde das Thema gerade schwierig.

Wenn ein Stream verarbeitet wird, steht die Länge nicht fest.
Ich meine man kann auch nicht berechnen, wieviel arbeit zu tun ist.

von, bis und pos zu haben wäre nett, ist das dann aber nicht eher das Problem von dem Streamersteller?
Ist dort nicht der Callback festgelegt und müsste dann nicht im Callback ggf. das ausgerechnet werden, wo der Prozentbalken steht oder ggf. ein Animation gespielt wird?

Kann also die DEC nur ein "STEP" signalisieren und kein genaue Position der Verarbeitung?

Wenn die DEC die Gesamtmenge, welche die DEC verarbeitet ausrechnen kann, dann müsste an den Callback [min,] max und pos übergeben werden, dass hat aber dann nichts mit der Streamsize und POS zu tun.

Versteht mich jemand, was ich meine?


PS:

Code:
alt
procedure TFormMain.OnProgress(const Min, Max, Pos: Int64);

neu
procedure TFormMain.OnProgress(const Progress: TDECProgressParams);


alt
  ProgressBar1.Min := Min;
  ProgressBar1.Max := Max;
  ProgressBar1.Position := Pos;

neu
  ProgressBar1.Min := 0;
  ProgressBar1.Max := Progress.Max;
  ProgressBar1.Position := Progress.Pos;

alt habe ich besser gefunden, weil die Implementierung vom Progress nicht vom Typ TDECProgressParams abhängt und somit bei anderen Programmteilen wiederverwendet werden könnte.

Ich persönlich bevorzuge auch immer weniger Punkte zu nutzen als mehr.
Also
Code:
  ProgressBar1.Min := Min;
vor
Code:
  ProgressBar1.Max := Progress.Max;
Spätenstens bei dem zweiten Punkt würde es hässlich werden, weil man dann abhängig von der internen Umsetzung wird.
Also
Code:
Progress.Max.irgendwas
- nicht relevant hier . nur Beispiel.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott

Geändert von generic (29. Dez 2020 um 12:58 Uhr)
  Mit Zitat antworten Zitat