Es sieht so aus, als ob du nicht wüsstest, was du da machst:]
Das scheint nur so!
1. Du kannst per "." nicht auf die Elemente dieses Arrays zugreifen, denn der Typ (= String) beinhaltet keine weiteren Elemente (so wie Data):]
Du hast natürlich Recht , dass ich auf Info so nicht zugreifen kann.
Es ist so, dass ich nicht den Original Code hier reinkopiert habe, weil der sehr viel komplexer ist.
Da ich etwas von euch will, wollte ich euch nicht zumuten euch da durchzuarbeiten. Deshalb wollte ich den Code simplifizieren und habe mich dabei vertan.
Im Original ist TInfo in etwa so deklariert
Delphi-Quellcode:
type
TInfo=Record
data:TData;
...
end;
Tja, ich hätte das was ich reingetippt habe einfach nur mal ins Programm kopieren müssen und F9 hätte mir das Gleiche gesagt wie du.
Peinlich!
2. Warum nicht direkt das erste Element in derselben Funktion mit einbeziehen (und mit 0 anfangen)?
Eben, weil ich das letzte Tab nicht drinhaben will.
Natürlich könnte ich es ab Schluß wieder entfernen, aber das ca. 20000 Mal, weil Info etwa 20000 Records hat, und am Ende jedes Records kein Tab stehen soll sonder ein CRLF. Nicht wie du es vorschlägst nur einmal am Ende aller Daten.
Hinzu kommt, dass ich es nicht gut finde etwas in den String reinzuschreiben, um es dann wieder zu löschen, aber das ist Geschmackssache.
3. Du hast vergessen, s am Anfang zu initialisieren!):]
Nein! Lokale Strings in einer Prozedur sind immer initialisiert = leere Strings.
Vielen Dank, Apton, für die Mühe die du dir (wegen meines Fehlers - Sorry!) machtest, um weiterzuhelfen.
Aber s war schon korrekt gefüllt. Mit dem Fehler den ich hier reigetippt habe wäre das gar nicht gelaufen, also wäre ich auch nie bis zum CompressBuf gekommen. Sorry!!!
Problem weiter ungelöst.