![]() |
Eigene Componente und Speichern der Eigenschaft ????
HI @ll
ich habe mir eine Componente erstellt mit folgender property
Delphi-Quellcode:
dem property source habe ich dann mein eigenen Editor zugewiesen , das sieht wie folgt aus
TSRC = class(TComponent) <---- die COMPONENTE
... Public fString: TStrings; ... published property source2: TStrings read fString write fString; ... im constructor create hab ich dann inherited create(AOwner); fstring := TStringList.Create; So registriert
Delphi-Quellcode:
und das ist mein TSourceEdit
RegisterPropertyEditor(TypeInfo(TStrings), nil, 'EDIT', TSourceEdit);
Delphi-Quellcode:
So klick ich nun in meiner Delphi IDE auf das
TSourceEdit = class(TPropertyEditor)
public procedure Edit; override; function GetValue: string; override; function GetAttributes: TPropertyAttributes; override; end; .... procedure TSourceEdit.Edit; var srcE: TfrmSourceEdit; tmp: TComponent; begin tmp := TComponent ( GetComponent(0) ); srcE := TfrmSourceEdit.Create(Application); srcE.SrcEDit.Lines.Text := TSRC(tmp).fSource.Text; srcE.ShowModal; TSrc(tmp).fSource.Text := srcE.SrcEDit.Lines.Text; end; function TSourceEdit.GetValue: string; begin FmtStr(Result, '(%s)', ['EDIT']); end; function TSourceEdit.GetAttributes: TPropertyAttributes; begin Result := [paMultiSelect,paDialog]; end; source | (EDIT) ... <--- halt im Objectinpector erscheint mein EIGENER EDITOR und ich kann Editieren, schließ ich MEIN Editor und öffe erneut ist der Text auch noch da! Speicher ich Jedoch die Form und lad sie neu , ist es NICHT DA , in der DFM wird das auch NICHT gespeichert. :'( Wo und WIE stell ich das an, dass er mir den source.strings in die dfm mitspeichert ? Registrier ich nicht meine Komponente sondern nehme die von Delphi gehts .... hoffe ihr könnt mir helfen BiG THX schonmal für JEDEN Tipp |
Re: Eigene Componente und Speichern der Eigenschaft ????
füg erst mal Delphi Tags ein [ delphi ] [ /delphi ]
ohne leer zeichen |
Re: Eigene Componente und Speichern der Eigenschaft ????
versuch mal die eigenschaft readonly zu machen. etwa so:
Delphi-Quellcode:
property source2: TStrings read fString;
//oder property source2: TStrings read fString write fString stored true; PS: und editier deinen beitrag und mach da mal delphi-tags rein! |
Re: Eigene Componente und Speichern der Eigenschaft ????
OK DELPHI-TAGS drin :D
Zitat:
Ich möchte ja ,dass delphi wenn ich die Unit speicher mein eingegebenen Editor Text mitspeichert... Hoffe ihr habt da noch ne gute idee :) Wie ist das denn bei nem Memo aufgebaut für Lines ... macht man eine Componente reicht ja
Delphi-Quellcode:
P.s. nehm ich meinen Registrierten Editor raus, so dass delphi den Eigenen nimmt, und ich dort Text Eingebe, gibts eine Fehlermeldung in adresse .... also fehlt da wohl noch ne "Line" ?
property Lines
bei einem Memo steht im Editor Form1.Memo1.Lines bei mir steht da Form1.Src1.source2 muss dsa nicht source2.lines heißen ? Wenn ja wie bekomm ich das hin ? Hat da vl jemand ne Componente in dem das funzt das ich mir das da mal angucken kann :) |
Re: Eigene Componente und Speichern der Eigenschaft ????
OK HABS GESCHAFFT :D *FREU*
und zwar
Delphi-Quellcode:
und dann im SetFString
...
procedure SetFString(Value: TStrings); ... property source2: TStrings read fString write SetFString;
Delphi-Quellcode:
er Speichert mein Editor wird benutzt und die welt ist wieder OK :)
procedure TENIGMASRC.SetFString(Value: TStrings);
begin fString.Assign ( Value ); end; THX @LL die sich tortzdem gedanken gemacht haben |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 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