![]() |
2 Formulare, 1 IniFile ~> Fehler
Hi,
ich habe 2 Formulare. Form2 wird von Form1 aufgerufen. Ich möchte in beiden in die gleiche Ini-Datei schreiben. Wenn ich nur Form1 benutze und wieder Schleiße wird alles richtig gespeichert. Wenn ich aber Form2 öffne und schleiße (also in die Ini schreiben will) kommt ein Fehler, dass in den Ordner ... nicht geschrieben werden konnte. Woran liegt das? Danke für die Antworten! mfg Paul |
Re: 2 Formulare, 1 IniFile ~> Fehler
Wenig Infos, aber versuchen kann mans ...
Falls zu 2 verschiende Ini-Variablen haben solltest: nehm einfach nur eine und deklarier diese global. |
Re: 2 Formulare, 1 IniFile ~> Fehler
Ich habe da eine kleine Frage: Wie sieht denn der Code aus, um ein anderes Formular aufzurufen? (Ich weiß, ist eine blöde Frage, aber es ist schon zu lange her, seit ich es mal gemacht habe. Bin Laie... :tongue: )
|
Re: 2 Formulare, 1 IniFile ~> Fehler
Zitat:
Wenn durch das zweite Form auf die Ini-Datei zugegriffen wird darf diese nicht schon geöffnet sein (durch Form1). Also schließe einfach die Ini-Datei im Form1 dann kannst du diese in Form2 auch wieder aufrufen, oder wie oben schon geschrieben - einfach das IniFile-Object aus Form1 nutzen |
Re: 2 Formulare, 1 IniFile ~> Fehler
Erstmal Danke!
Ich hab das mit euren Tips versucht, es funzt aber immer noch nicht. Ich hab auch mal versucht alles in einer anderen ini zu speichern, es kommt aber der gleiche Fehler. :wall: :wall: |
Re: 2 Formulare, 1 IniFile ~> Fehler
Hi!
Zeig am besten mal deinen Code her... Ciao Frederic |
Re: 2 Formulare, 1 IniFile ~> Fehler
Formular 1:
Delphi-Quellcode:
Formular 2:
unit scr_main;
interface uses ..., inifiles, ... ... private { Private-Deklarationen } public { Public-Deklarationen } ini: tinifile; end; var frmMain: TfrmMain; implementation uses src_Options, src_Info; {$R *.dfm} ... procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction); begin ini:= TINIFile.Create(ExtractFilePath(ParamStr(0))+'settings.ini'); try //schreiben der Einstellungen ini.WriteBool('output','checkb',checkbox1.Checked); ini.WriteBool('output','options',gbxoptionsoutput.Visible); ini.WriteInteger('Position','Top',frmMain.Top); ini.WriteInteger('Position','Left',frmMain.Left); finally ini.UpdateFile; ini.Free; end; end; procedure TfrmMain.FormCreate(Sender: TObject); begin ini:= tinifile.Create(ExtractFilePath(ParamStr(0))+'settings.ini'); try //Einlesen von settings.ini checkbox1.Checked:=ini.ReadBool('output','checkb',false); gbxoptionsoutput.Visible:=ini.ReadBool('output','options',true); frmMain.Left:=ini.ReadInteger('Position','Left', 100); frmMain.Top:=ini.ReadInteger('Position','Top',100); finally ini.Free; end; ... end; ... procedure TfrmMain.Optionen2Click(Sender: TObject); begin frmOptions.ShowModal; end; end.
Delphi-Quellcode:
unit src_Options;
interface uses ..., inifiles; ... private { Private-Deklarationen } public { Public-Deklarationen } ini:tinifile; end; ... procedure TfrmOptions.BitBtn1Click(Sender: TObject); begin ini:=tinifile.Create(ExtractFilePath(ParamStr(0)+'settings.ini')); try ini.WriteBool('options','rdb1',rdb1.Checked); ini.WriteBool('options','rdb2',rdb2.Checked); ini.WriteBool('options','´cbxvisible',combobox1.Visible); ini.WriteInteger('options','Index',combobox1.ItemIndex); finally ini.UpdateFile; ini.Free; frmoptions.Close; end; end; ... procedure TfrmOptions.FormCreate(Sender: TObject); begin bitbtn1.default:=True; ini:=TINIfile.Create(ExtractFilePath(ParamStr(0)+'settings.ini')); try rdb1.Checked:=ini.ReadBool('options','rdb1',false); rdb2.Checked:=ini.ReadBool('options','rdb2', True); combobox1.Visible:=ini.ReadBool('options','cbxvisible',True); combobox1.ItemIndex:=ini.ReadInteger('options','Index',0); finally ini.UpdateFile; ini.Free; end; end; end. |
Re: 2 Formulare, 1 IniFile ~> Fehler
Zitat:
Code:
in Form1
settings.ini'
und
Code:
in Form2 ?
settingso.ini'
|
Re: 2 Formulare, 1 IniFile ~> Fehler
Zitat:
~> wird geändert! ~> edit: ist geändert ;) |
Re: 2 Formulare, 1 IniFile ~> Fehler
Ok gut.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:17 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