TSTringList und TSaveDialog

Rund um die LCL und andere Komponenten
Antworten
bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

TSTringList und TSaveDialog

Beitrag von bembulak »

Hallo Leute!

Ich habe schon wieder ein Problem und bitte um eure Hilfe!
Bei noch dem gleichen Programm wie gestern (danke an Christian) versuche ich, Daten aus einer ListBox an eine StringList zu übergeben und diese dann zu speichern. Der Pfad dazu kommt aus einem SaveDialog.
Nun ist es so, dass mir das Programm bei jedem zweiten Start abschmiert und ich wiedermal ratlos bin.
Hier die Prozedur:

Code: Alles auswählen

procedure TForm1.Button4Click(Sender: TObject);
var
   i, anzahl : Integer;
begin
   anzahl := ListBox1.Items.Count;
 
   for i := 1 to anzahl do
   begin
        sList.Append(ListBox1.Items.Strings[i-1]);
   end;
 
   try
   if SaveDialog1.Execute then
      sList.SaveToFile(SaveDialog1.FileName);
   except
      ShowMessage('Fehler beim Speichern der Datei!');
   end;
 
   Edit1.SetFocus;
end;
Wenn ich das Programm starte, kriege ich folgenden Fehler in Form einer MessageBox:
Error
Project raised execption call 'External: SIGSEGV'.
Wenn das Programm läuft, ist der Button, welcher die Prozedur aufruft (Button 4) nicht mehr zu sehen. Das Programm hängt. Die Datei wurde nicht gespeichert.

Die Meldung ist für mich sehr kryptisch. Wäre froh, wenn mir wieder jemand einen Tip geben könnte. Danke!

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6770
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Ohne Debugger, von der Kommandozeile aus gestartet, läuft es ?!
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

Beitrag von bembulak »

Oh!
Gerade getestet. Ja, von CMD aus funktioniert es. Die Datei wird erstellt (mit richtigen Einträgen) und Programm läuft weiter. Kein Absturz, kein Hänger, alles bestens.

Danke für den Hinweis!

Gibt es irgendeinen Hinweis, wie man die Meldung wegbekommt, oder wo Lazarus stolpert?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6770
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

In der neuen Version (svn) habe ich die Probleme nicht mehr gesehen. Deshalb auch die Frage.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

Beitrag von bembulak »

Hm, vielleicht sollte ich mir das mal ansehen. Eigentlich mag ich die SVN Sachen generell nicht so. Und wenn man sich gerade in eine Software einarbeitet ist es schwer, zu erkennen, ob man selber den Fehler gemacht hat, oder die Software buggy ist. Ich bin bei 0.9.24 eigentlich davon ausgegangen, dass es halbwegs stabil läuft.

Aber einen Blick ist es wert. Danke für den Hinweis.

edit: kann man eine neuere Version installieren, ohne vorher die alte zu löschen und die Config zu verlieren? Ich müsste einige Pakete wieder neu installieren, die Hilfe, die Farben anpassen, usw... :(

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

sichere alle .xml auf dem Lazarus verzeichnis (keine Unterverzeichnisse) und die staticpackages.inc, installiere den snapshot ins selbe verzeichnis (nachdem du den inhalt gelöscht hast) und kopiere die gesicherten dateien hinterher wieder rein.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten