Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#22

AW: csv Datei Import ClassHelper für TClientDataSet

  Alt 9. Jun 2017, 13:32
Das passiert an der Stelle Fields[j].AsString := slRow[j];

Delphi-Quellcode:
    DisableControls;
    for i := 0 to slFile.Count - 1 do
    begin
      slFile[i] := StringReplace(slFile[i], '"', '''', [rfReplaceAll, rfIgnoreCase]);
      slRow.DelimitedText := slFile[i];
      Append;
      for j := 0 to slRow.Count -1 do
      begin
        Fields[j].AsString := slRow[j];
      end;
      Post;
    end;
    EnableControls;
  finally
    slFile.Free;
    slRow.Free;
  end;
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Mahnung.exe ist eine Exception der Klasse $C0000005 mit der Meldung 'access violation at 0x00684abe: read of address 0x00000000' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------

slRow[j] hat zu dem Zeitpunkt folgenden Inhalt:

"12345";"1";"Müller-Meyer";"Müller-Meyer-Schulze GmbH";"";"Elbchaussee 1";"D";"22000";"Hamburg";"";"Frau";"Michaela";"Mül ler";"+49 (40) 123456-0";"+49 (40) 123456 111";"m.mueller@mueller-meyer.de";"1";"36";"rechnung@mueller-meyer.de; einkauf@mueller-meyer.de"
Die Fehlermeldung deutet auf einen Zugriff auf ein nicht erzeugtes Objekt.

Könnte es sein, das in der 1. Zeile weniger Felder definiert sind als in dieser Zeile.
Der Helper legt er "nur" die Anzahl der Felder an, die in der 1. Zeile stehen.

Das sollte ja auch nur als Beispiel dienen.

Welche Wert hat slRow.Count bei i=0 ?
Und welchen Wert hat es in der Zeile, die den Fehler wirft?
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat