Liebe Leute,
ich habe folgenden Code:
Delphi-Quellcode:
Procedure AddiereStringListen(var Quelle, Ziel: tstringlist);
var
i: integer;
begin
for i:=0 to Quelle.count-1 do
if Ziel.Values[Quelle.Names[i]] = '' then Ziel.Add(Quelle.Strings[i])
else begin
Ziel.Values[Quelle.Names[i]]:= inttostr(strtoint(Ziel.Values[Quelle.Names[i]]) +
strtoint(Quelle.Values[Quelle.Names[i]]));
end;
end;
Sinn dieser Funktion ist lediglich die Addition zweier Stringlists, die jeweils automatisch erhobene Ausdrücke (->Names) und zu String konvertierte Zahlen (->Values) enthalten (= Wortliste).
Nun passiert es immer wieder, dass bei einigen Additionen aus heiterem Himmel in der Values-Abfrage das Trennzeichen ("=") auftaucht - und folglich einen Fehler bei der Konvertierung in Integer erzeugt. Ich habe aber jetzt mehrfach die Listen gecheckt und ich sehe zwar dann, DASS tatsächlich dieser Wert (z.B. "=8") BEIM ABRUF so aussieht, aber ich kriege nicht heraus, wie das passieren kann. Die beiden Listen (Quelle, Ziel) enthalten VOR DEM ABRUF (d.h. z.B. via .text gecheckt) nämlich an keiner Stelle derartiges.
Hat jemand eine Idee, was ich falsch mache oder welcher Quell-Ausdruck (Wert) versehentlich beim Values-Abruf (Prozess) so fehlinterpretiert wird?
Danke für Eure Mühe und beste Grüße aus dem Südwesten,
friedemann