Frage

ive einen Newsserver auf Delphi7 erbauten Indy9 TIdTCPServer verwenden, und die Clients verwenden TClientSocket von ScktComp für Größe, und der Verkehr wird in RC4 (string)

verschlüsselt

Was genau muss ich meine App Arbeit auf XE oder 2010 mit Unicode-Unterstützung machen? was diese Dinge werde ich ändern müssen?

War es hilfreich?

Lösung

Als erstes haben Sie die Betreuung der STREICHER standardmäßig Typ STRING nehmen, um dieses Mittel ist Wide, dass jedes Zeichen 2 Bytes hat - für die schnelle Migration ich empfehlen würde alle „string“ Vorkommen mit Ansistring ersetzt und dann Schritt für Schritt Update Teile die Codes Unicode-Unterstützung zur Verfügung zu stellen. Beachten Sie, dass Indy ist der Teil, wo Sie viel arbeiten müssen, aber Sie haben Glück, weil Sie so nach Antworten auf Ihre Fragen suchen ...

Andere Tipps

Unicode hat in Delphi 2009 eingeführt, so dass, wenn Sie die Unicode-Unterstützung mögen, dass Sie es mit Delphi 2009 tun können.

Aber wenn Sie ein Upgrade zu gehen, ist die neuesten ein, können Sie alle Vorteile von Delphi 2010 mit weniger Fehlern und mehr Third-Party-Tool gebündelt mit Delphi XE erhalten.

das andere Problem kann Sie Gesicht ist die Übersetzung zwischen Indy 9 bis Indy 10, weil Unicode-Unterstützung zu Indy 10 hinzugefügt, aber es ist auch nicht zu 100% kompatibel mit Indy 9.

Ich schlage vor, Sie zu versuchen, Ihre Anwendung mit Delphi 7 und Indy 10 zu kompilieren, dann später zu Delphi XE mit Indy 10. bewegen

Sie wissen nicht, ob Indy 9 noch auf XE unterstützt wird und 2010 Indy 10 hat Verbesserungen, aber auch einige Bruch Änderungen. Verschieben von Binärdaten in Strings ist IMHO nie eine gute Wahl, aber die Situation je könnte es nur einige kleinere Änderungen benötigen. Was Sie genau benötigen, hängt von Ihrem Anwendungscode - ohne tatsächlich zu betrachten es ist schwer zu sagen. All String-Manipulation Routine sollte überprüft werden, vor allem, wenn man sie als Low-Level-binäre Puffer verwenden, und die wählt, welcher Weg am besten zu portieren sie zur Unicode Welt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top