![]() |
property string default Wert ?
Hallo Leute
habe auch wieder inmal ein Problem bin gerade an einer neuen Komponente dran und würde etwas unterstüzung brauchen. Für property giebt es die möglichkeit einen Default Wert zu hinterlegen Beispiel Integer:
Delphi-Quellcode:
Jezt meine Frage wie kann ich eine Default Wert für ein String Property angeben? :wall:
property ZFieldID: Integer read FZFieldID write FZFieldID default 0;
Für eure hilfe währe ich sehr Dankbar. Tau |
Re: property string default Wert ?
Hai Tau,
Defaultwerte müssen Ordinaletypen oder Pointer sein. Ein String wird also nicht gehen. |
Re: property string default Wert ?
Seit wann das? @Sharky
Zitat:
Ich hab es zwar noch nicht bei Property's probiert, aber bei Var/Const geht es doch auch und es steht nirgends was davon, das Property da eine Ausnahme macht :gruebel: |
Re: property string default Wert ?
Hallo Sharky
OK aber wie kann ich jetz das Problem lösen? :gruebel: |
Re: property string default Wert ?
Delphi-Quellcode:
type
TMyClass= class(TObject) private FMyString: String; public constructor Create; published property MyString: String read FMyString write FMyString; end;
Delphi-Quellcode:
constructor TMyClass.Create;
begin inherited Create; FMyString := 'Mein Standardwert'; end; |
Re: property string default Wert ?
Zitat:
Und Zitat:
|
Re: property string default Wert ?
Na das können wir doch leiden ... wer hat'n sich sowas ausgedacht -.-
Also dann sollte wohl Sprint's Idee nicht schlecht sein ^^ |
Re: property string default Wert ?
Hallo Sprint
danke für die schnelle Antwort. Aber ich bekomme 1 Warnung und 1 Fehlermeldung Warnung Methode 'Create' verbirgt virtuelle Methoden vom Basistyp 'TADOQuery' Fehler Nicht genügend wirkliche Parameter bei inherited Create; Gruss Tau |
Re: property string default Wert ?
Zur Warnung kann ich jetzt nichts sagen, aber schau dir mal Create deiner geerbten Methode an.
Ich vermute mal das "alte" Create möchte irgendwelche Parameter, die du wohl bei Inherite übergeben mußt. |
Re: property string default Wert ?
du musst dem "inherited Create" noch den Owner übergeben und vermutlich hast du das "override" vergessen wenn die Fehlermeldung kommt das der neue Constructor den alten verbirgt
|
Re: property string default Wert ?
Hallo SirThornberry
Danke für den Tipp das wahr die Lösung :witch: Ich hätte da noch ein Frage zu der Lösung was bassiert mit dem Sogenanten Defaultwert. Wenn ich ihm irgend wann einmal Ändere und ich habe schon einige Komponenten in meinem Projekt ändern sich diese auch mit? :?: Gruss Tau |
Re: property string default Wert ?
Japp.
Der Wert wird ja beim Erzeugen des Objektes erstellt, und das Objekt wird jedes Mal beim Erstellen den in der Klasse definierten Defaultwert erhalten, bzw. immer deinen Konstruktor durchlaufen, in dem du den String setzt. Unabhähgig davon, WANN du die Kompo platzierst. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 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