Du solltest das Tutorial ein wenig mehr studieren. Du bringst ein wenig durcheinander und gibst zuerst das Ini frei und versuchst dann mit Ini etwas abzuspeichern. Das wird nie funktionieren. Guck dir vielleicht das Tutorial hier im Forum unter FAQ an.
Ich hab mir das noch einmal genauer angeguckt und muß sagen, daß das das bescheuerdste Stück Code ist was ich je gesehen habe. Das klingt vielleich ein wenig arrogant (Sorry), aber erklär mir bitte wie du das zustande gebracht hast? Hast du von hinten nach vorne programmiert?
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm1.Button1Click(Sender: TObject); begin ini.free; close; ini.WriteString(test); //[Not enough actual parameters] end;
procedure TForm1.FormCreate(Sender: TObject); begin edit1.Text:=test; end;
procedure TForm1.Button2Click(Sender: TObject); begin var ini: TIniFile; begin ini:=TIniFile.create('einstellungen.ini'); end; end;
end. |
Hier ein Crashkurs in OOP:
Wenn noch nicht eingebunden (z.B. automatisch), dann bindet man zuerst die passende Unit zu dem Objekt ein. Hier im Beispiel die Unit IniFiles:
Quelltext
Wenn man mit Ojekten arbeiten will, dann braucht man auch eine Objektvariable. Wir brauchen eine TIniFile Variable:
Quelltext
Vor dem Arbeiten mit Objekten muß man eine Instanz erstellen. Hier im Beispiel für die Ini:
Quelltext
1:
| Ini := TIniFile.Create('IniDatei.ini') |
Tip:
Wenn du die Ini im gelichen Verzeichnis wie dein Programm haben willst, dann machst du das so:
Quelltext
1:
| Ini := TIniFile.Create(ChangeFileExt(ParamStr(0), '.ini')) |
Dann kannst du mit dem Objekt arbeiten. Hier mit der Ini:
Quelltext
1:
| Ini.WriteString('Abschnitt', 'Schuessel', Wert); |
Zum lesen:
Quelltext
1:
| Wert := Ini.ReadString('Abschnitt', 'Schuessel', 'ErsatzWert'); |
Dann muß man das Objekt frei geben, sonst kann dieser Ram-Bereich bis ende der Windowssitzung nicht mehr benutzt werden:
Quelltext
Wenn du das Objekt freigegeben hast, dann kannst du es nicht weiter nutzen. Die "Verbindung" ist gelöscht. Um weiter arbeiten zu können mußt du eine neue Instanz erstellen.
So, das nächste mal liest du dir das Tutorial aber richtig durch.
Das mit Try/Finally hab ich weggelassen, sonst wirst du noch mehr verwirrt.