Forum: Object-Pascal / Delphi-Language
by Matze,
26. Jun 2010
Hm, also so kann ich dir leider nicht helfen, sorry.
Aber wo ich deinen Code nochmal ansehe, entstehen u.U. Speicherlecks (sog. Memory Leaks).
Du erzeugst eine StringList und gibst dessen Speicher nicht mehr frei.
Richtig macht man das so (bei allen Objekten, die du mit ".Create" erstellst):
save := TStringlist.Create;
try
// hier dein Code, in dem du auf "save" zugreifst
finally
Forum: Object-Pascal / Delphi-Language
by Matze,
26. Jun 2010
Beim Beenden gibt das Programm den reservierten Speicher frei, den es beansprucht hat. Dazu zählen auch Unterformulare.
Daher vermute ich, dass das Unterformular nicht mehr existiert, du aber beim Beenden darauf zugreifst.
Hast du denn etwas im OnClose oder OnCloseQuery stehen?
Forum: Object-Pascal / Delphi-Language
by Matze,
26. Jun 2010
Vergleiche auf "true" und "false" sollten auch vermieden werden, speziell der auf "true" (s. hier).
Rufst du die Prozedur "DarstellungAnpassen" denn beim Beenden auf (OnClose o.ä.)?
Ich vermute, du greifst auf "Formoptionen" zu, was bereits freigegeben wurde.
Forum: Object-Pascal / Delphi-Language
by Matze,
26. Jun 2010
Kann es an der save.txt liegen?
formoptionen.RGSymbol.ItemIndex:=strtoint(save);
formoptionen.RGSymbolPosition.ItemIndex:=strtoint(save);
Nachtrag: Du verwendest ausschließlich relative Pfade. Das ist sehr riskant, denn relative Pfade beziehen sich nicht auf dein Programmverzeichnis, sondern auf das aktuelle Arbeitsverzeichnis. Dieses ist häufig das Programmverzeichnis, aber nicht immer.
...