Wir versuchen, unsere App unicode-kompatibel zu machen, und wir migrieren von Delphi 2007 zu Delphi XE2. Wir sind auf einige Probleme gestoßen und brauchen dazu Vorschläge
1) Eine Änderung besteht darin, Blob-Daten mit Unicode-Strings in der Datenbank zu speichern
Wir speichern große XML-Daten als Blob in der Datenbank, aber in der neuesten Delphi-Version (XE2) wird ein Blob als Array von Bytes behandelt. Was muss also getan werden, um Blob-Daten in der Datenbank zu speichern? Wir haben versucht, Param.AsBlob := WideBytesOf(xml) zu konvertieren, aber das scheint nicht zu funktionieren.
2) Außerdem verwenden wir HyperString von EFD Systems für schnellere Zeichenkettenmanipulationen. Die Unicode-Version dieser Bibliothek ist jedoch nicht verfügbar. Wir haben den Code kompiliert, indem wir ansistring in string geändert und versucht haben, einige Assembleranweisungen zu ändern, aber bisher nur teilweise erfolgreich gewesen. Kann jemand eine Alternative für schnellere Zeichenkettenmanipulationen vorschlagen?
0 Stimmen
HyperString war in den Tagen von Delphi 1.0 viel relevanter. Spätere Versionen von Delphi erzeugten optimierten Code. Ich würde vorschlagen, diesen Code, soweit möglich, durch äquivalenten Pascal-Code zu ersetzen. Es wäre ein riesiges Unterfangen, den gesamten HyperStr-ASM-Code umzuschreiben, um mit Unicode-Zeichenfolgen zu arbeiten, und ich weiß nicht, ob der Aufwand den Ärger wert wäre.
0 Stimmen
Vielen Dank für das Feedback, wir werden prüfen, die Aufrufe von HyperStr durch Delphi-Bibliotheksfunktionen zu ersetzen.