![]() |
Speichern Procedure funzt sporadisch :(
Hi
ich speichere im OnClose meiner Anwendung den Inhalt eines ValueListEditors... doch die änderungen sind beim nächsten start (ja, ich lade wieder) wieder weg. irgendwie funzt das speichern nur für die cells in col 0 und und die erste reihe... hier der Code:
Delphi-Quellcode:
procedure TForm_Settings.VLELoad();
var I: Integer; Temp: TStringList; begin //leeren VLEClear; //Laden Temp:=TStringList.Create; Temp.LoadFromFile(CAP_APP); for i:=0 to (Temp.Count div 2)-1 do VLE_Caps_Apps.InsertRow(Temp[i*2],Temp[i*2+1],True); Temp.Free; end; procedure TForm_Settings.VLESave; var I: Integer; Temp: TStringList; begin Temp:=TStringList.Create; Temp.Clear; with VLE_Caps_Apps do for i:=1 to RowCount-1 do begin Temp.Add(Cells[0,i]); Temp.Add(Cells[1,i]); end; Temp.SaveToFile(CAP_APP); Temp.Free; end; |
Re: Speichern Procedure funzt sporadisch :(
Hallo Gereon,
das Laden und Speichern geht so einfacher und weniger fehleranfällig:
Delphi-Quellcode:
Grüße vom marabu
VLE.Strings.SaveToFile(CAP_APP);
VLE.Strings.LoadFromFile(CAP_APP); |
Re: Speichern Procedure funzt sporadisch :(
:(
so einfach? wieso heisst das net items oder lines? :wall: |
Re: Speichern Procedure funzt sporadisch :(
aha, und die linke spalte?
|
Re: Speichern Procedure funzt sporadisch :(
in deiner save anweisung steht 1 und 0 anstatt i (zählvariable).
|
Re: Speichern Procedure funzt sporadisch :(
nein, 1 und 0 sind die spalten (gibt nur 2)
|
Re: Speichern Procedure funzt sporadisch :(
:wall:
in strings is ja beides drin aber es funzt trotzdem nicht.
Delphi-Quellcode:
wenn ich nun was änder, so is die Showessage richtig. erneut laden, alles ok.
procedure TForm_Settings.VLELoad;
begin VLEClear; VLE_Caps_Apps.Strings.LoadFromFile(cCAP_APP); ShowMessage(VLE_Caps_Apps.Strings.Text); end; procedure TForm_Settings.VLESave; begin VLE_Caps_Apps.Strings.SaveToFile(cCAP_APP); ShowMessage(VLE_Caps_Apps.Strings.Text); end; aber programm beenden, neu starten, laden, und es ist falsch! kennt einer das problem? |
Re: Speichern Procedure funzt sporadisch :(
köönte es sein das du die Ausgabe Datei erst löschen musst bevor du sie speicherst (wenn schon vorhanden).
|
Re: Speichern Procedure funzt sporadisch :(
nope, gerade ausprobiert
kann es sein das der irgendwie unterschiedliche dateien nimmt? (wobei, kann doch eigentlich gar net sein...) |
Re: Speichern Procedure funzt sporadisch :(
wie ist denn der inhalt der Variablen cCAP_APP zur zeit des Laden/Speicherns ?
|
Re: Speichern Procedure funzt sporadisch :(
Hi.
Die Value-List wird beim Laden automatisch gelöscht. Das musst du nicht selber machen. ;-) Ich schätze, der Fehler wird sogar in VLEClear verursacht...
Delphi-Quellcode:
procedure TForm_Settings.VLELoad;
begin VLEClear; // <-- unnötig! VLE_Caps_Apps.Strings.LoadFromFile(cCAP_APP); ShowMessage(VLE_Caps_Apps.Strings.Text); end; procedure TForm_Settings.VLESave; begin VLE_Caps_Apps.Strings.SaveToFile(cCAP_APP); ShowMessage(VLE_Caps_Apps.Strings.Text); end; |
Re: Speichern Procedure funzt sporadisch :(
Nein, ändert nichts...
|
Re: Speichern Procedure funzt sporadisch :(
Hallo Gereon,
das ist dir schon klar, das der Fehler in dem Code steckt, den wir nicht sehen können? Das Laden und Speichern über die VLE-Strings funktioniert ja. marabu |
Re: Speichern Procedure funzt sporadisch :(
:wall:
irgendwie hat er wirklich ne andere Datei genommen. so funkt es:
Delphi-Quellcode:
public
DatPreFix: String; //FormCreate DatPreFix:=IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)); //Load (leicht modifiziert ;-) ) procedure TForm_Settings.VLELoad; //VLE Laden begin try VLEClear; VLE_Caps_Apps.Strings.LoadFromFile(Form_Main.DatPrefix+cCAP_APP); except ShowMessage('Datei '+cCAP_APP+' wurde nicht gefunden.'); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:01 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