Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   TADOCommand.Prepared und Delphi 10 (https://www.delphipraxis.net/187301-tadocommand-prepared-und-delphi-10-a.html)

Ulrich Berger 17. Nov 2015 15:34

TADOCommand.Prepared und Delphi 10
 
Hallo allerseits,

wir sind momentan dabei von Delphi 2007 auf Delphi 10 Seattle umzusteigen und dabei auf ein merkwürdiges Phänomen gestoßen:

Wenn die Eigenschaft prepared einer TADOCommand-Komponente zur Entwurfszeit auf true steht, gibt es beim Öffnen des Formulars in der IDE den folgenden Fehler: "Fehler beim Lesen von ADOCommand1.Prepared: Ungültiger Eigenschaftswert..."

Dieses Problem tritt sowohl beim Öffnen eines bestehenden mit Delphi 2007 erstellten Formulars auf als auch bei einem Neuen das zum Test mit Delphi 10 erstellt wurde.

Hatte dieses Problem schon mal jemand, tritt es evtl. auch bei älteren Versionen irgendwo zwischen Delphi 2007 und 10 auf?

Zur weiteren Info: Delphi 10 läuft hier in einer VMWare VM unter Windows 7 Pro.

Gruß Uli

PS: ich habe zunächst überlegt ob dieses Thema in der Datenbanken-Sektion vielleicht besser aufgehoben wäre, aber das Problem tritt auch auf wenn dem TADOCommand keine Connection zugewiesen ist, also auch keine konkrete Datenbank.

nahpets 17. Nov 2015 16:06

AW: TADOCommand.Prepared und Delphi 10
 
Diese Meldung kenne ich eigentlich nur aus folgender Situation:

Man hat in einem Formular eine Komponente mit einem bestimmten Attribut.

Nun öffnet man das Formular in der IDE, aber dort verfügt die Komponente nicht über dieses Attribut bzw. das Attribut ist von einem anderen Typ.

Ist das Attribut Prepared bei einer neu eingefügten Komponente unter Delphi 10 im Objektinspektor zu sehen, und wenn ja, von welchem Typ ist es?
Unterscheidet sich dieser vom (unter Delphi 2007) angezeigten Typ?

Oder:
Delphi-Quellcode:
  TADOCommand = class(TComponent)
...
    property Prepared: WordBool read GetPrepared write SetPrepared default False;
    property ParamCheck: Boolean read FParamCheck write FParamCheck default True;
Unterscheidet Delphi 10 zwischen WordBool und Boolean, während Delphi 2007 dies nicht tut?

Ungültiger Eigenschaftswert... könnte eventuell auf ein derartiges Problem hinweisen.

Sind jetzt nur Mutmaßungen, da mir beide Delphiversionen nicht zur Verfügung stehen.

http://web.comhem.se/delphitutorials/BooleanTypes.htm

Ulrich Berger 18. Nov 2015 09:40

AW: TADOCommand.Prepared und Delphi 10
 
Hallo,

erst mal danke für die Antwort.

Hier der entsprechende Auszug aus der Hilfe von Delphi 2007:
Code:
property Prepared: WordBool;
Man sieht, auch hier ist es bereits ein WordBool, dennoch gibt es Unterschiede. In Delphi 10 ist es so wie in Deinem Beitrag angegeben.

Das Attribut ist auch bei dem neuen Delphi im Objektinspector zu sehen, interessanterweise wird der Wert hier jedoch beim Öffnen des Formulars auf false zurück gesetzt wenn er vorher auf true stand (und es erscheint die besagte Fehlermeldung). "True" scheint Delphi hier einfach nicht zu kennen...

Natürlich kann man als Workaround vorher in Delphi 2007 den Wert auf false setzen und dann in Delphi 10 öffnen, dann gibt's zumindest an dieser Stelle keine Probleme. Ist aber schon nervig und außerdem wäre es schon interessant zu wissen was da los ist...

Gruß Uli


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:38 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