![]() |
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.
|
Re: 2 Formulare, 1 IniFile ~> Fehler
Zitat:
|
Re: 2 Formulare, 1 IniFile ~> Fehler
Dass das nur ein Fehler war is schon gut :wink:
|
Re: 2 Formulare, 1 IniFile ~> Fehler
Hi!
Und was für ein Fehler kommt? Ciao Frederic |
Re: 2 Formulare, 1 IniFile ~> Fehler
Zitat:
|
Re: 2 Formulare, 1 IniFile ~> Fehler
keiner ne Idee? *push* :gruebel:
|
Re: 2 Formulare, 1 IniFile ~> Fehler
wie wärs, wenn du mal zeilenweise durch den code tracest und schaust, wo der fehler kommt ?
|
Re: 2 Formulare, 1 IniFile ~> Fehler
Hi!
Schonmal in nem anderen Verzeichnis versucht? Ciao Frederic |
Re: 2 Formulare, 1 IniFile ~> Fehler
Anweisung aus FrmMain:
ini:= TINIFile.Create(ExtractFilePath(ParamStr(0))+'sett ings.ini'); ist korrekt. Anweisung aus FrmOptions: ini:=tinifile.Create(ExtractFilePath(ParamStr(0)+' settings.ini')); ist falsch. Du schließt die zweite Klammer falsch und versuchst dadurch nicht in die Datei "setting.ini" zu schreiben, sondern direkt ins Verzeichnis. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 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