![]() |
Re: Klasse soll Anwendung nur bei best. Änderung benachricht
Das OnChange-Ereignis soll ausgelöst werden, wenn Status geändert wird?
|
Re: Klasse soll Anwendung nur bei best. Änderung benachricht
Hihi, du löst den Event auch gar nicht aus :P
Hast du dem OnChange eine Procedure zugewiesen? Zitat:
|
Re: Klasse soll Anwendung nur bei best. Änderung benachricht
Zitat:
|
Re: Klasse soll Anwendung nur bei best. Änderung benachricht
Ja ne, du musst OnChange in der Funktion/Prozedur von der du die Mitteilung über eine Änderung erhalten möchtest auch aufrufen.
|
Re: Klasse soll Anwendung nur bei best. Änderung benachricht
Du brauchst eine Setter-Methode.
Delphi-Quellcode:
type Tmyclass = class
... private procedure SetStatus(value: Boolean); ... public property Status : Boolean read FStatus write SetStatus; ... end; procedure Tmyclass.SetStatus(value: Boolean); begin FStatus := value; if Assigned(FOnChange) then FOnChange; end; |
Re: Klasse soll Anwendung nur bei best. Änderung benachricht
Und denke dran, dass in deinem Hauptformular(z.B.) auch eine Methode deklariert und dem OnChange zugewiesen wird.
|
Re: Klasse soll Anwendung nur bei best. Änderung benachricht
Jepp, sonst kommt wieder nichts an :lol:
|
Re: Klasse soll Anwendung nur bei best. Änderung benachricht
Zitat:
Wenn ich das hinbekommen habe könnte ich nämlich alles mit austesten :) |
Re: Klasse soll Anwendung nur bei best. Änderung benachricht
Z.B.:
Delphi-Quellcode:
im Create dann noch
type
TMeinFormular= Class(TForm) private procedure EineFunktion(Sender:TObject); end;
Delphi-Quellcode:
MyClassInstance.OnChange_Func := EineFunktion;
|
Re: Klasse soll Anwendung nur bei best. Änderung benachricht
Delphi-Quellcode:
[edit] Einen Tick zu spät [/edit]
type TMyForm = class(TForm)
... private procedure DoChange; //eine Methode mit identischer Signatur wie in der Klasse ... end; ... procedure TMyForm.DoChange; begin ShowMessage('Status geändert'); end; procedure TMyForm.Wuppdi; begin MyClass := TMyClass.Create; ... MyClass.OnChange_Func := DoChange; //Zuweisung der Routine ... end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:00 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