Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Format: Ungültiger Ausdruck im Evaluator (https://www.delphipraxis.net/162607-format-ungueltiger-ausdruck-im-evaluator.html)

Angel4585 31. Aug 2011 08:18

Delphi-Version: 2010

Format: Ungültiger Ausdruck im Evaluator
 
Guten Morgen,

Ich hab folgende Stelle im Code:
Delphi-Quellcode:
resourcestring
  msgString = 'My %s Message';
.
.
uses Dialogs;
.
.
var
  asValue : AnsiString;
begin
asValue := 'MyValue';
ShowMessage(Format(msgString,[asValue]));
end;
Jetzt bekomm ich im Debugger die Meldung "Ungültiger Ausdruck im Evaluator", das Programm hängt sich einfach auf.
Wenn ich das jetzt so abändere:
Delphi-Quellcode:
var
  asValue : AnsiString;
  sMsg,sValue : String;
begin
asValue := 'MyValue';
sMsg := msgString;
sValue := asValue;
ShowMessage(Format(msgString,[asValue]));
end;
Also ohne effektiv was zu ändern, dann wird mir der String normal ausgegeben und das Programm hängt sich auch nicht auf.

Für mich ein unerklärbares Phänomen, kann mir jemand erklären was da passiert? :gruebel:

himitsu 31. Aug 2011 08:54

AW: Format: Ungültiger Ausdruck im Evaluator
 
Alle Updates installiert?


Bei mir kann ich das, in einem kleinem Testprojekt, nicht nachstellen.

Aber so wie es aussieht, hst du nur einen Bug im Debugger und nicht im Programm selber.
Der schafft es wohl nicht die Variable/Konstante auszulesen und verreckt einfach.

Auch wenn ich sowas noch nie erlebt hab, außer wenn ich mal zu schnell F7 drücke und mir dabei die Überwachten Ausdrücke verrecken, mit der selbe Meldung, bis ich dann Delphi neu starte.



Den Resourcestring verschieben, irgendwas anderes in deinem Programm verändern oder mal Folgendes versuchen.
Delphi-Quellcode:
ShowMessage(Format(String(msgString), [asValue]));
Ich würde mal drauf tippen, daß es genauso eine dieser unerklärlichen Fehler ist, wie z.B. diese vielen "Internal Error".

Angel4585 31. Aug 2011 08:59

AW: Format: Ungültiger Ausdruck im Evaluator
 
Installiert sind Updates 1 - 5.
Was genau kannst du jetzt nicht nachstellen?
Das es mit AnsiString schon zu Problemen kommt, oder das es nach der Konvertierung in String -aber ohne effektive Veränderung - klappt?

Ich hab die IDE und danach auch den Rechner neu gestartet, keine Veränderung.

himitsu 31. Aug 2011 09:23

AW: Format: Ungültiger Ausdruck im Evaluator
 
Hab deinen Code in ein leeres Projekt reinkopiert und im OnCreate ausführen lassen = keinerlei Probleme.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz