AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Eigene Componente und Speichern der Eigenschaft ????
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene Componente und Speichern der Eigenschaft ????

Ein Thema von THE MATRIX · begonnen am 19. Feb 2005 · letzter Beitrag vom 19. Feb 2005
Antwort Antwort
THE MATRIX

Registriert seit: 26. Jul 2003
62 Beiträge
 
#1

Eigene Componente und Speichern der Eigenschaft ????

  Alt 19. Feb 2005, 15:39
HI @ll

ich habe mir eine Componente erstellt mit folgender property
Delphi-Quellcode:
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;
dem property source habe ich dann mein eigenen Editor zugewiesen , das sieht wie folgt aus

So registriert
RegisterPropertyEditor(TypeInfo(TStrings), nil, 'EDIT', TSourceEdit); und das ist mein TSourceEdit

Delphi-Quellcode:
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;
So klick ich nun in meiner Delphi IDE auf das
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
§¤*~`~*¤§¤*~`~*¤§[* ((( THE MATRIX - Reloaded ))) ]§¤*~`~*¤§¤*~`~*¤§
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#2

Re: Eigene Componente und Speichern der Eigenschaft ????

  Alt 19. Feb 2005, 15:41
füg erst mal Delphi Tags ein [ delphi ] [ /delphi ]
ohne leer zeichen
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Eigene Componente und Speichern der Eigenschaft ????

  Alt 19. Feb 2005, 16:20
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!
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
THE MATRIX

Registriert seit: 26. Jul 2003
62 Beiträge
 
#4

Re: Eigene Componente und Speichern der Eigenschaft ????

  Alt 19. Feb 2005, 18:03
OK DELPHI-TAGS drin


Zitat:
Delphi-Quellcode:
property source2: TStrings read fString;
//oder
property source2: TStrings read fString write fString stored true;
das funktioniert nicht und readonly soll ja nicht.

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

property Lines 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" ?
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
§¤*~`~*¤§¤*~`~*¤§[* ((( THE MATRIX - Reloaded ))) ]§¤*~`~*¤§¤*~`~*¤§
  Mit Zitat antworten Zitat
THE MATRIX

Registriert seit: 26. Jul 2003
62 Beiträge
 
#5

Re: Eigene Componente und Speichern der Eigenschaft ????

  Alt 19. Feb 2005, 20:10
OK HABS GESCHAFFT *FREU*

und zwar


Delphi-Quellcode:
...
 procedure SetFString(Value: TStrings);
 ...
 property source2: TStrings read fString write SetFString;
und dann im SetFString

Delphi-Quellcode:
procedure TENIGMASRC.SetFString(Value: TStrings);
begin
 fString.Assign ( Value );
end;
er Speichert mein Editor wird benutzt und die welt ist wieder OK


THX @LL die sich tortzdem gedanken gemacht haben
§¤*~`~*¤§¤*~`~*¤§[* ((( THE MATRIX - Reloaded ))) ]§¤*~`~*¤§¤*~`~*¤§
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz