[erledigt] xml in stringgrid einlesen -> Fehler

Rund um die LCL und andere Komponenten
Antworten
A-KI
Beiträge: 16
Registriert: Do 20. Jan 2011, 00:12

[erledigt] xml in stringgrid einlesen -> Fehler

Beitrag von A-KI »

hi

ich speichere Daten aus einem stringgrid in einer xml datei

aufbau xml

Code: Alles auswählen

 
<root>
  <datensatz id="1">
    <titel>hallo</titel>
    <orginal>du</orginal>
    <inhalt></inhalt>
    <inhalt2>1</inhalt2>
  </datensatz>
  <datensatz id="2">
    <titel>hallo</titel>
    <orginal>du</orginal>
    <inhalt></inhalt>
    <inhalt2>1</inhalt2>
  </datensatz>
...
</root>
 
speichern klappt problemlos

will ich die datei nun wieder in das grid laden und mal kein text zwischen den elementen steht wie bei <inhalt></inhalt> bekomme ich einen fehler"project 1 hat exception-klasse external sigsegv ausgelöst". unter win und linux. steht nun ein zeichen zwischen den elementen kommt der fehler nicht.
kann das jemand bestätigen?
Zuletzt geändert von A-KI am Mo 10. Feb 2014, 20:27, insgesamt 1-mal geändert.
Lazarus 1.0.14
FPC 2.6.2
unter Win7 64bit/Ubuntu 64bit

RugiaArt
Beiträge: 41
Registriert: Do 11. Okt 2012, 18:50
OS, Lazarus, FPC: Win7 (L 1.0.0.2 FPC 2.6.0)
CPU-Target: 32Bit
Wohnort: Rügen
Kontaktdaten:

Re: xml in stringgrid einlesen -> Fehler

Beitrag von RugiaArt »

du musst beim einlesen überprüfen ob das feld leer ist oder nicht. wenn keine daten vorhanden sind dann meldet XML Parser ein Error

PS. SIGSEGV - Fehler bedeutet: es wurde auf speicher zugegriffen, was gar nicht existiert

A-KI
Beiträge: 16
Registriert: Do 20. Jan 2011, 00:12

Re: xml in stringgrid einlesen -> Fehler

Beitrag von A-KI »

danke für den hinweis habe es hinbekommen
Lazarus 1.0.14
FPC 2.6.2
unter Win7 64bit/Ubuntu 64bit

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: [erledigt] xml in stringgrid einlesen -> Fehler

Beitrag von Michl »

Das Verhalten kann ich nicht bestätigen. Habe es eben unter Win7, Lazarus 1.0.14 und Lazarus 1.3Trunc probiert, StringGrid-Methoden funktionieren in beiden Fällen problemlos, auch mit freien Feldern!

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
begin
  StringGrid1.SaveToFile('Test.xml');
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  StringGrid1.LoadFromFile('Test.xml');
end;

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

RugiaArt
Beiträge: 41
Registriert: Do 11. Okt 2012, 18:50
OS, Lazarus, FPC: Win7 (L 1.0.0.2 FPC 2.6.0)
CPU-Target: 32Bit
Wohnort: Rügen
Kontaktdaten:

Re: [erledigt] xml in stringgrid einlesen -> Fehler

Beitrag von RugiaArt »

vielleicht liegt es daran dass die felder die so aussehen:

<node></node>

anders behandelt werden als solche:

<node />

??

ich persönlich bevorzuge es eigene funktionen zu schreiben um xml in StringGrid einzulesen, es ist so viel stabiler

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: [erledigt] xml in stringgrid einlesen -> Fehler

Beitrag von Michl »

k.A.
RugiaArt hat geschrieben:ich persönlich bevorzuge es eigene funktionen zu schreiben um xml in StringGrid einzulesen, es ist so viel stabiler
Sind die TStringGrid-Methoden nicht stabil? Falls dies so ist, dann könntest Du einen Patch erstellen und diesen im Bugtracker hochladen. So kannst Du Lazarus/Freepascal bugfreier machen und wir haben alle was davon :)

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Antworten