![]() |
onVariableChange?
hi
kann ich einer variablen eine procedure zuweisen? also immer wenn zB ein boolean auf true gesetzt wird, soll die ausgeführt werden. geht das? wenn ja, wie? |
Re: onVariableChange?
Du könntest dir mal properties anschauen.
Ein Beispiel:
Delphi-Quellcode:
und dann die Implementierung:
private
FMyBool: Boolean; procedure SetMyBool(const MyBool: Boolean); public property MyBoolean: Boolean read FMyBool write SetMyBool; end;
Delphi-Quellcode:
Ich hoffe das hat dir einen Denkanstoß gegeben.
procedure TIrgendwas.SetMyBool(const MyBool: Boolean);
begin FMyBool := MyBool; OnMyBoolGeaendert; // sonstige Prozeduren end; mfG mirage228 |
Re: onVariableChange?
Argh, Doppelpost! Bitte löschen!
|
Re: onVariableChange?
tut mir leid, da ich so was noch nie gemacht hb... :(
kannst du mir event einen kompletten source geben, dh soviel, das ich "nur noch" die procedure die ich haben will da reinschreiben muss? ich weiss, sollte man nicht (null-bock-regel), aber wie gesagt, ich brauchs und hab davon keinen dunst :( |
Re: onVariableChange?
Hi,
ok, ich tue dir den Gefallen (Code aus der Unit1 eines neu erstellten Formulares Form1)
Delphi-Quellcode:
mfG
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private-Deklarationen } FMyBoolVar: Boolean; procedure SetMyBoolVar(MyBoolVar: Boolean); public { Public-Deklarationen } property MyBooleanVar: Boolean read FMyBoolVar write SetMyBoolVar; procedure MyVarChanged; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.SetMyBoolVar(MyBoolVar: Boolean); begin FMyBoolVar := MyBoolVar; MyVarChanged; end; procedure TForm1.MyVarChanged; begin ShowMessage('MyBooleanVar geändert!'); end; procedure TForm1.FormCreate(Sender: TObject); begin MyBooleanVar := True; end; end. mirage228 |
Re: onVariableChange?
danke :love: :-)
noch kurze frage die procedure kann ich erstens für alle typen nehmen, oder? also natürliuch wenn ich in den deklarationen boolean durch zb integer ersetze :-D und zweitens wird die immer aufgerufen, nicht nur, wenn bool von true auf false gesetzt wird, und nicht wenn von false auf true? |
Re: onVariableChange?
Zitat:
natürlich kannst du das. Du kannst so ziemlich alle Typen verwenden (näheres siehe OH). Ja, immer wenn ein Wert an die Variable zugewiesen wird. ^^ mfG mirage228 |
Re: onVariableChange?
super :thuimb:
ich hab danach erst mal in den quelltext eingebaut, es verstanden und etwas ausgedünnt :-D es funktioniert (aber!) immer noch :-D danach habbich erst mal 5 minuten überlegt, wozu ichs nochmal benutzen wollte.. :gruebel: aber jetzt weiss ichs, ich habs halbwegs verstanden, und es funzt!!! :thuimb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:49 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