Einzelnen Beitrag anzeigen

sgmeiner

Registriert seit: 22. Feb 2006
10 Beiträge
 
#1

String-Verlängerung => Delphi-Bug?

  Alt 5. Jul 2006, 14:27
Hallo zusammen.

Ich bin auf ein Verhalten gestoßen, das ich mir nicht mehr erklären kann und würde gern mal eure Meinungen dazu hören:

Ich habe einige DB-Operationen (ZEOS) in einer DLL gekapselt. Beim ersten Aufruf einer bestimmten Funktion geht alles glatt. Das Problem (die Access Violation) tritt auf, wenn ich die Methode das zweite mal aufrufe. Durch Debuggen der ZEOS-Komponenten bin ich auf die Zeile gestoßen die den Fehler verursacht - was mir aber auch nicht wirklich hilft:
Result.Value := Result.Value + ReadChar; Result ist ein Record, Value ist vom Typ String, ReadChar vom Typ Char. Ich verstehe nicht, dass da eine AV fliegt. Nachdem ich ein wenig im Auswerten-Dialog vom BDS rumgespielt hab, hab ich gemerkt, dass ich den Wert von Result.Value erst mal gar nicht ändern kann. Ich habs versucht, neuen Wert eingegeben, aber die Variable hat scheinbar nur einen leeren String mitgekriegt. Erst beim zweiten Ändern kam der Wert in der Variablen an. Unter diesen Umständen läuft das Programm allerdings anschließend fehlerfrei durch

Meine Vermutung geht in die Richtung, dass der Compiler (BDS2006 + Update 2) hier Probleme hat Speicher für den String zu allokieren... Was meint ihr dazu? Bin momentan absolut ratlos

Danke schon mal für eure Antworten
  Mit Zitat antworten Zitat