AGB  ·  Datenschutz  ·  Impressum  







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

properties

Ein Thema von Mephisto090 · begonnen am 9. Aug 2009 · letzter Beitrag vom 9. Aug 2009
 
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.103 Beiträge
 
Delphi 12 Athens
 
#2

Re: propertys

  Alt 9. Aug 2009, 16:29
Laut der gewählten Sparte möchtest du also einen neuen Beitrag für die Code-Library vorschlagen?

Zur Frage:
Im Grunde funktioniert das so, dass die Klasse intern die Fehler abfängt und nur das Event auslöst statt die Fehler direkt als Exception an den Aufrufer weiterzuleiten.

Beispiel:
Delphi-Quellcode:
type
  TOnLogEvent = procedure(Sender: TObject; ALogText: String) of object;

  TBla = class
  private
    FOnLog: TOnLogEvent;
    procedure DoLog(AText: String);
  public
    property OnLog: TOnLogEvent read FOnLog write FOnLog;
  end;

  TBlaForm = class(TForm)
  ...
  private
    procedure TestLogEvent(Sender: TObject; ALogText: String);
  end;

omplementation

procedure TBla.DoLog(AText: String);
begin
  if Assigned(FOnLog) then
    FOnLog(Self, AText);
end;

procedure TBla.Something...
begin
  ...
  try
    ...
  except
    DoLog('Fehler');
  end;
end;

procedure TBlaForm.TestLogEvent(Sender: TObject; ALogText: String);
begin

end;

...

MyBla.OnLog := TestLogEvent;
...
Du deklarierst also eine entsprechende Eigenschaft und weist der eine entsprechende Methode zu.

// EDIT:
String als Typ? Du willst doch eine entsprechende Methode zuweisen, die aufgerufen wird, wenn das Event ausgelöst wird...
Sebastian Jänicke
AppCentral
  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 13:39 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