AGB  ·  Datenschutz  ·  Impressum  







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

Wozu TNotifyEvent oder TEvent?

Ein Thema von Arnulf · begonnen am 12. Dez 2005 · letzter Beitrag vom 14. Dez 2005
 
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.357 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Wozu TNotifyEvent oder TEvent?

  Alt 13. Dez 2005, 09:32
Hi Arnulf,
es ist doch so, dass die Komponente völlig unabhängig von deiner Applikation agieren soll.
Also soll sie von einer ProgressBar gar nichts wissen. Kann ja sein, der Entwickler benutzt eine ganz andere, nicht von TProgressBar abgeleitete Komponente. Also soll er darüber informiert werden, wann die Progressbar neu gezeichnet werden soll.
Delphi-Quellcode:
unit Unit2;

interface
uses
  Classes;

type
  TMyVideoObject = class(TComponent)
  private
    FOnProgressBarPosChange: TNotifyEvent;
    FProgressBarPos: Integer;
    FProgressBarSteps: Integer;
    procedure doProgressBarPosChange;
  published
    // nur Lesen Property zum Setzen der PB
    property ProgressBarPos: Integer read FProgressBarPos;
    // Max - Wert der Progressbar, also - setze ich auf 100, so muss meine Komponente
    // das Ereignis insgesamt 100 mal auflösen
    property ProgressBarSteps: Integer read FProgressBarSteps write
        FProgressBarSteps;
    // mein Event, welches der Entwickler per OI setzen kann
    // damit er die PB weiter setzen kann
    property OnProgressBarPosChange: TNotifyEvent read FOnProgressBarPosChange
        write FOnProgressBarPosChange;
  end;

implementation

// du musst dafür sorgen, dass eben in sinnvollen bzw.
// entsprechend der Propertys eingestellten Schritten
// in deinem Code doProgressBarPosChange aufgerufen wird.
// und natürlich musst du FProgressBarPos auch setzen.
procedure TMyVideoObject.doProgressBarPosChange;
begin
  if Assigned(FOnProgressBarPosChange) then
    FOnProgressBarPosChange(Self);
end;

end.
Eine andere Alternative wäre, ein Published Property vom Typ TProgressBar.
Da kannst du dich dann um das setzten selbst kümmern.
Gruß, Frank
Frank Reim
  Mit Zitat antworten Zitat
 


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 01:42 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 by Thomas Breitkreuz