![]() |
Datenbank: MySQL • Version: 5.0.51b • Zugriff über: ZEOS 7.0.3
Zeos:Unterschiedliche Typen für Feld;erwartet: String, gefunden: WideString
Guten Tag!
Icc habe die gleiche Fehlermeldung wie in diesem Thread beschrieben: ![]() Da ich vermutlich mit einer neueren Version von ZEOS arbeite, frage ich mich woran das jetzt genau liegt, da der dort angegebene Link zur Fehlermeldung nicht mehr funktioniert. Ich habe gerade versucht älteres Programm welches mit einer alten Verison von ZEOS und Delphi 2005 compiliert wurde unter Delphi 2010 mit ZEOS 7.0.3 zum Laufen zu bringen. Und stoße auf die Meldung: tqServiceOptions: Unterschiedliche Typen für Feld 'Betreff'; erwartet: String, gefunden: WideString tqServiceOptions ist der name der TZQuery Betreff ist ein TStringField mit 80 Zeichen. In der Datenbank ist Betreff ein VarChar mit 80 Zeichen. Die Datenbanktabelle ist InnoDB. Der Fehler selbst kommt beim Open-Befehl. Der SQL-Befehl ist schlicht "select * from Tabellenname". Hat jemand eine Idee woran das liegen könnte? Hier noch mehr Details zur Meldung: Zitat:
Aber das möchte ich natürlich nicht für die ganzen Felder. Wo/was muss ich ändern, damit ich die Felder der Tables und Queries nicht ändern muss? |
AW: Zeos:Unterschiedliche Typen für Feld;erwartet: String, gefunden: WideString
Zitat:
|
AW: Zeos:Unterschiedliche Typen für Feld;erwartet: String, gefunden: WideString
Zitat:
Zitat:
|
AW: Zeos:Unterschiedliche Typen für Feld;erwartet: String, gefunden: WideString
Der Fehler tritt bereits im Designer auf, wenn ich die TZQuery auf Active schalte.
Da kann ich nirgends String nach WideString oder andersrum ändern. Ich könnte bei der TZConnection von UTF16 auf UTF8 wechseln(falls das überhaupt was bringt), aber es springt immer wieder automatisch zurück. Sehr rätselhaft das Ganze :cyclops: |
AW: Zeos:Unterschiedliche Typen für Feld;erwartet: String, gefunden: WideString
AnsiStrings waren nicht begrenzt und WideStrings war ein unmanaged Typ ( Delphi hat sich nicht direkt um die Speicherverwaltung und Inhalt gekümmert) Inhalt war interpretationssache ( z.B. ANSI, UTF8 oder UTF16 bei WinAPI-Aufrufen)
|
AW: Zeos:Unterschiedliche Typen für Feld;erwartet: String, gefunden: WideString
Zitat:
|
AW: Zeos:Unterschiedliche Typen für Feld;erwartet: String, gefunden: WideString
Schade das mir niemand direkt weiterhelfen kann :(
Dann werd ich das wohl doch so lösen müssen, dass ich die ganzen Felder in TWideStringField's umändere. Oder eben komplett aus den Tables/Queries rausnehmen. Ich versteht einfach nicht wie Zeos entscheidet, dass das jetzt ein TWideStringField sein muss. |
AW: Zeos:Unterschiedliche Typen für Feld;erwartet: String, gefunden: WideString
Unicode-Feldtyp (z.B. UTF8) in der Datenbank?
|
AW: Zeos:Unterschiedliche Typen für Feld;erwartet: String, gefunden: WideString
Bei Kollation ist latin1_swedish_ci angegeben :gruebel:
Aber ich mein.. selbst wenn keine Verbindung hergestellt wird, wird automatisch ein TWideStringField vorgeschlagen. Bei der TZConnection ist bei ControlsCodePage cCP_UTF16 eingestellt, was sich auch nicht auf cCP_UTF8 umstellen lässt, die Einstellung spring immer wieder automatisch zurück auf cCP_UTF16. Genau wie die Einstellung UFT8StringsAsWideFields die immer auf true springt auch wenn ich false auswähle. Hab sogar schon versucht direkt in der dfm rumzupfuschen aber selbst damit springen die Werte nach einer Änderung wieder zurück. |
AW: Zeos:Unterschiedliche Typen für Feld;erwartet: String, gefunden: WideString
@Angel4585
Stelle TZConnection.ControlsCodePage = cCP_GETACP ein und du brauchst nichts beim Upgrade auf Z7 ändern. Ich habe diese Option reingefummelt. Sie ist eigentlich interessanter für die Ansi-Pascal-Compiler. Es giebt Controls wie die TNT Controls, welche auf Wide-Fields zugreifen können. Andere brauchen UTF8-1Byte Strings. Die Ansi-Delphi standart Contrls, jedoch greifen immer auf String-Fields zu. Zeos ist in der Lage jede CodePage von der Client-Seite auf Wide-Fields zu Mappen. Dies gilt selbstverständlich auch für String-Fields. Dafür diese Option. Unter den Unicode IDE's hab ich die ControlsCodePage cCP_UTF8 unterbunden, da es mit einigen OS-Codepages wie GB1080 simplified chinese, Probleme gab. Da scheint irgend etwas mit dem AnsiToWide und umgedreht im argen zu liegen... UTF8AsWideString Fields ist out of use und wird mit Zeos7.1 entfernt. Gruß Michael |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz