![]() |
WriteComponentResFile und ReadComponentResFile
Hi,
also ich habe nach einer guten Möglichkeit gesucht Programmoptionen zu speichern und bin ![]() Nun habe ich eine kleine Test Procedure geschrieben um das auszuprobieren, doch es klappt nicht. Was mache ich falsch? Die Klasse:
Delphi-Quellcode:
Test Procedure
TSettings=class(Tcomponent)
private f:string; i:Integer; end;
Delphi-Quellcode:
Gruß Alexander
procedure TForm1.Button1Click(Sender: TObject);
begin Settings:=TSettings.Create(self); Settings.f:='hallo ich bins'; Settings.i:=15; WriteComponentResFile(extractfilepath(ParamStr(0)) + 'Settings.dat', Settings); Settings.Free;// mache ich damit ich sichergehe, dass die Daten nicht noch von dem "alten" Objekt kommen Settings:=TSettings.Create(self); Settings := TSettings(ReadComponentResFile(extractfilepath(ParamStr(0)) + 'Settings.dat', Settings)); ShowMessage(settings.f); // hier bingt er '' ShowMessage(inttostr(Settings.i)); // hier bringt er 0 Settings.Free; end; |
Re: WriteComponentResFile und ReadComponentResFile
Hallo,
das müssen afaik published properties sein. |
Re: WriteComponentResFile und ReadComponentResFile
Jo, danke klappt:
Der funktionierende Code:
Delphi-Quellcode:
Tschüss :hi:
TSettings=class(Tcomponent)
private fs:string; fi:Integer; published property s:string read fs write fs; property i:integer read fi write fi; public procedure SaveConfig; procedure ReadConfig; end; var Form1: TForm1; Settings:TSettings; implementation {$R *.dfm} procedure TSettings.SaveConfig; begin WriteComponentResFile(extractfilepath(ParamStr(0)) + 'Settings.dat',Self); end; procedure TSettings.ReadConfig; begin if fileexists(extractfilepath(ParamStr(0)) + 'Settings.dat') then try Self := TSettings(ReadComponentResFile(extractfilepath(ParamStr(0)) + 'Settings.dat', Self)); except end end; procedure TForm1.Button1Click(Sender: TObject); begin Settings:=TSettings.Create(self); Settings.s:='hallo ich bins'; Settings.i:=15; Settings.SaveConfig; Settings.Free; Settings:=TSettings.Create(self); Settings.ReadConfig; ShowMessage(settings.s); ShowMessage(inttostr(Settings.i)); Settings.Free; close; end; Alexander |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 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