So .. ganz viele Anworten auf einmal
Benutzt Du sonst irgendwo Application.ProcessMessages?
Nee ... nutze ich nicht.
bzgl: -< und hier ist der Inhalt von KundenNummer plötzlich
das verstehe ich nicht. Wie kann "Kundenummer" in einer Zeile plötzlich einen anderen Wert haben, wenn du "Kundennummer" gar nicht vergleichst?
Das sehe ich im debugger und wenn ich entsprechende Stop-Punkte setze. Das mache ich dann immer so:
Delphi-Quellcode:
if KundenNummer = '12652' then
begin
beep;
end;
Sicher, dass sich der Inhalt ändert, oder zeigt der Debugger nur nicht mehr das Richtige an?
Inhalt manuell irgendwo ausgeben (Logdatei, ShowMessage, ...)
Hab ich gemacht - steht aber leider auch der falsche Wert
Einzige Ausnahme für das NIEMALS: BufferOverflow oder Dergleichen. Danach sieht es in dem gezeigten Code aber auch nicht aus.
du hast ein massives Speicherproblem und jemand (du) überschreibt irgendwo willkürlich deinen
RAM. (aber schon komisch, dass dabei rein zufällig ein "korrekter" String mit einer schönen "Nummer" als Text entsteht)
Ich gehe ja auch davon aus ... wobei ich nicht weiß wieso.
Aber ich gebe Dir recht das ich das auch komisch finde und immer noch glaube das ich da unwillkürlich einen Overflow generiere der nur keine
Exception auslöst. ... ODER ... ich mache schon vorher massiven Murks - was ja auch nicht unwahrscheinlich ist.
Was ich auch noch nicht verstehe ... und vielleicht ergibt das ja den BufferOverflow ... eigentlich dürfte diese Zeile hier gar nicht funktionieren sondern müsste - wenn ich mich nicht täusche - eine
Exception auslösen:
MahnForm.OPTabelleSG.Cells[CKundenNummer, MahnForm.OPTabelleSG.RowCount] := Copy(EinleseZeile, 1, Position -1);
Ich kann doch gar nicht in Cells.[1, Grid.RowCount] schreiben ... es müsste eigentlich doch Cells.[1, Grid.RowCount -1] heißen, oder ? Aber warum wird dann keine
Exception ausgelöst ??
Hans