![]() |
Prüfen ob in eine Variable geschrieben wurde
Hi Leute,
wie der Titel aussagt, muss ich wissen, wie ich auf das Ändern einer Variable reagieren kann. Also, wenn ich einem String den Wert "Hallo" gebe, muss eine Funktion, etc. aufgerufen werden. Ich weiss das es geht, denn ich habe es mal gelesen, leider finde ich es nicht mehr :( Gruß DelphiFreund |
Re: Prüfen ob in eine Variable geschrieben wurde
Das müsstest du mit einer Property realisieren ...
So einfach mit einer Variablen geht das nicht. (Oder eine Funktion, die die Variable verändert usw. und dann benutzt du immer die ...) |
Re: Prüfen ob in eine Variable geschrieben wurde
Stimmt, es war etwas mit Property, ich weiss das das bei Komponenten verwendet wird, aber es muss auch so gehen, und mich würde sehr interessieren wie. Aber dein 2. Vorschlag ist einen Versuch wert, danke.
Gruß DelphiFreund |
Re: Prüfen ob in eine Variable geschrieben wurde
das ganze ginge dann so:
Delphi-Quellcode:
TMyClass=Class(TObject)
private FMyVariable: string; SetMyVariable(NewValue:string); published property MyVariable: string read FMyVariable write SetMyVariable; end; implementation procedure TMyClass.SetMyVariable(NewValue:string); begin FMyVariable:=NewValue; //hier reagieren, z.b. ShowMessage('FMyVariable wurde geändert!'); end; |
Re: Prüfen ob in eine Variable geschrieben wurde
Bevor ich es vergesse, geht das auch mit anderen Typen, genauer gesagt auch Boolean? Das mit String war eigentlich nur als beispiel gedacht.
|
Re: Prüfen ob in eine Variable geschrieben wurde
klar, einfach string überall durch boolean ersetzen
|
Re: Prüfen ob in eine Variable geschrieben wurde
Natürlich, das sahe dann in etwa so aus:
Delphi-Quellcode:
TMyClass=Class(TObject)
private FMyVariable: Boolean; SetMyVariable(NewValue:Boolean); published property MyVariable: Boolean read FMyVariable write SetMyVariable; end; implementation procedure TMyClass.SetMyVariable(NewValue:string); begin FMyVariable:=NewValue; //hier reagieren, z.b. ShowMessage('FMyVariable wurde geändert!'); end; |
Re: Prüfen ob in eine Variable geschrieben wurde
in der procedure den parameter auf boolean setzen, dann stimmts ;)
|
Re: Prüfen ob in eine Variable geschrieben wurde
Ich hab das mal schnell ausprobiert, dann bekam ich folgende Fehlermeldung:
[Fehler] Unit1.pas(41): Inkompatible Typen: 'Enumeration' und 'String' Mit allem außer Enumeration kann ich etwas anfangen, aber das hab ich noch nicht gehört. Was kann ich dagegen tun? Gruß DelphiFreund |
Re: Prüfen ob in eine Variable geschrieben wurde
Es wäre hilfreich, zumindest die Zeilen 39-43 zu sehen ...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20: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-2025 by Thomas Breitkreuz