Sorry - besser kann ich es bnicht beschreiben
Ich habe hier ein Stringgrid das einfach von oben nach unten durchgelaufen wird.
Wenn das Feld Kundennummer der übergebenen Kundennummer entspricht soll es, wenn zwei weitere Felder übereinstimmen die Daten ausgeben.
Im Prinzip sehr einfach ... aber plötzlich ist die KundenNummer nach der gesucht wird eine andere:
Delphi-Quellcode:
procedure TUKunden.FirstKundenSuchen(KundenNummer: String; var KName1, KName2, KStrasse, KLand, KPLZ, KOrt, KTelefax, KEmail, KVertreter, KRnEmail: String);
var
i: Integer;
begin
for i := 0 to UKunden.KundenSpeicherSG.RowCount -1 do
begin
if (KundenNummer = UKunden.KundenSpeicherSG.Cells[CKundenNr, i]) then [COLOR="Red"]// <- hier wird nach Kundennummer 12652 gesucht[/COLOR]
begin
if (UKunden.KundenSpeicherSG.Cells[CKundenRNAnschrift, i] = (UKunden.KundenSpeicherSG.Cells[CKundenLfdNr, i])) then [COLOR="Red"]// -< und hier ist der Inhalt von KundenNummer plötzlich 14109[/COLOR]
begin
KName1 := UKunden.KundenSpeicherSG.Cells[CKundenName1, i];
KName2 := UKunden.KundenSpeicherSG.Cells[CKundenName2, i];
KStrasse := UKunden.KundenSpeicherSG.Cells[CKundenStr, i];
KLand := UKunden.KundenSpeicherSG.Cells[CKundenLand, i];
KPLZ := UKunden.KundenSpeicherSG.Cells[CKundenPLZ, i];
KOrt := UKunden.KundenSpeicherSG.Cells[CKundenOrt, i];
KTelefax := UKunden.KundenSpeicherSG.Cells[CKundenTelefax, i];
KEmail := UKunden.KundenSpeicherSG.Cells[CKundenEMail, i];
KVertreter := UKunden.KundenSpeicherSG.Cells[CKundenVertreter, i];
KRnEmail := UKunden.KundenSpeicherSG.Cells[CKundenRnEMail, i];
exit;
end;
end;
end;
KName1 := 'Keine Daten gefunden ! '; (* Kann eigentlich nicht vorkommen :-D *)
end;
In der Routine ändere ich nicht den Inhalt von KundenNummer.
Es wird auch keine andere Routine aufgerufen.
Hinweise und Warnungen auf Laufzeitfehler sind eingeschaltet.
Hier in
Debugger-Exceptions hatte ich schonmal "komische" Probleme mit dem Programm - nur wie finde ich den Fehler wenn ich keine
Exception bekomme ?
Hans