![]() |
properties
hallo liebe Leute,
Ich will eine Klasse schreiben wo ein Property vorhanden ist was eine Log macht ich kenne sowas in der art wie OnError von anderen klassen sehe aber auch nicht durch wie die das machen das wenn immer irgendein Error kommt das die Procedure im Form getriggert wird Also ein Property OnLog was immer gefeuert wird wenn ich bei der Klasse was in die Variable FLog rein schreibe.
Delphi-Quellcode:
Ich hoffe ihr versteht was ich schreibe.
Procedure TForm1.Log(Log: string);
begin mmoLog.Lines.Add(Log); end; soweit habe ich es schon ^^
Delphi-Quellcode:
mfg
property OnLog: String read FLog write FLog;
Mephisto [edit=TBx]Druckfehler + verschoben, das ist kein Vorschlag für die CL! Mfg, TBx[/edit] |
Re: propertys
Laut der gewählten Sparte möchtest du also einen neuen Beitrag für die Code-Library vorschlagen? :gruebel:
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:
Du deklarierst also eine entsprechende Eigenschaft und weist der eine entsprechende Methode zu.
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; ... // EDIT: String als Typ? Du willst doch eine entsprechende Methode zuweisen, die aufgerufen wird, wenn das Event ausgelöst wird... |
Re: properties
danke hat mir geholfen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 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