Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Fehler: Unkontrollierter Übertrag von Daten in ein Array (https://www.delphipraxis.net/164008-fehler-unkontrollierter-uebertrag-von-daten-ein-array.html)

p80286 25. Okt 2011 12:30

AW: Fehler: Unkontrollierter Übertrag von Daten in ein Array
 
noch etwas Spekulatius:
hinter TRows könnte sich eine Tlist verbergen, der man teilweise die Daten geklaut hat???

Gruß
K-H

yörsch 25. Okt 2011 12:58

AW: Fehler: Unkontrollierter Übertrag von Daten in ein Array
 
Was könnte dir weiterhelfen? (um beim Thema zubleiben)

Du kannst nur verschiedenes Durchprobieren...

- Das Gesamte Objekt in die Procdure rein geben?
- mal das ganze auserhalb der Procdure ausprobieren? (nicht schön, aber wenn es funzt...)
- mal ein Communikations-Objekt fütter und in die Procdure rein geben ...

Puhhh :glaskugel:

den fehler in der Anwendung finden oder im Compiler wäre die Lösung, aber beides scheind mir schwirig zu sein...

Ykcim 25. Okt 2011 13:09

AW: Fehler: Unkontrollierter Übertrag von Daten in ein Array
 
Hallo Zusammen,

vielen Dank für die rege Beteiligung der Fehlersuche!!! Finde ich stark! :-D

Also das Array sieht wie folgt aus (ja, es verbirgt sich hinter den Cols and Rows):

Delphi-Quellcode:
type
    TRows = array of array of string; // [Cols, Rows]
    TCols = array of string;
Das Ganze ist dann wie eine Tabelle anzusehen, mit Daten, die aus einem MySQL Server kommen...

Cols wird tatsächlich nicht verwendet in der Function, aber ich übergebe immer die "ganze" Tabelle, daher immer Cols and Rows...

Cols sind die Spalten (wie in Excel "A", "B", "C";...)
Rows sind die Zeilen (wie in Excel 1, 2, 3, ...)

In der Schleife werden die Daten an das TStringList übergeben, mit jeweils den " um einen Text kenntlich zu machen. Diese Information benötige ich, wenn ich die Daten der *.csv Datei wieder in den MySQL-Server schicke.

Ich habe davon in diesem Programm noch drei weitere Stellen, wo zwei identische (Anzahl der Spalten mit anderen " Informationen) tadellos funktionieren...

Die Suche nach dem Fehler wird durch den Umstand, dass das Array aus ca. 50.000 Datensätzen besteht nicht erleichtert. Der Fehler tritt immer an der selben Stelle auf (Spalte 2, Zeile 223).

Ich hoffe, damit ein paar Informationslöcher gestopft zu haben...


Vielen Dank

Ykcim

Bummi 25. Okt 2011 13:28

AW: Fehler: Unkontrollierter Übertrag von Daten in ein Array
 
dann müsste der Zugriff folgendermaßen funktionieren ...

Delphi-Quellcode:
var
  col,row:Integer;
  s:String;
begin
  SetLength(Rows,10,10);
  For col := Low(Rows) to High(Rows) do
    For Row := Low(Rows[col]) to High(Rows[col]) do Rows[col,row] := IntToStr(col) + '_'+IntToStr(row);

  For col := Low(Rows) to High(Rows) do
    For Row := Low(Rows[col]) to High(Rows[col]) do
      begin
        if Row=High(Rows[col]) then s := s + Rows[Col,Row] + #13#10 else s := s + Rows[Col,Row] + ','
      end;
  Showmessage(s);
end;

DeddyH 25. Okt 2011 13:45

AW: Fehler: Unkontrollierter Übertrag von Daten in ein Array
 
Hatte ich das nicht bereits so ähnlich geschrieben?

Bummi 25. Okt 2011 13:53

AW: Fehler: Unkontrollierter Übertrag von Daten in ein Array
 
@DeddyH

jepp, sorry, habe die #10 gerade erst gesehen ....

p80286 25. Okt 2011 14:00

AW: Fehler: Unkontrollierter Übertrag von Daten in ein Array
 
Schön, daß mal jemand das SetLength explizit nutzt, bleibt die Frage ob Ykcim es auch nutzt??

Gruß
K-H

DeddyH 25. Okt 2011 14:12

AW: Fehler: Unkontrollierter Übertrag von Daten in ein Array
 
Aber wenn, dann außerhalb der gezeigten Routine, schließlich sind das Var-Parameter. Wäre ja blöde, wenn die anders wieder rauskommen, als sie reingekommen sind ;)

p80286 25. Okt 2011 14:28

AW: Fehler: Unkontrollierter Übertrag von Daten in ein Array
 
Ich glaube sowas ähnliches ist da passiert.
Er wäre nicht der Erste der sich seine dyn. Datenstrukturen zerschießt.

Gruß
K-H

DeddyH 25. Okt 2011 14:32

AW: Fehler: Unkontrollierter Übertrag von Daten in ein Array
 
Also sagen wir den Standardsatz: "Zeichma mehr Kot" :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz