Tengo una aplicación totalmente compatible con Unicode en Delphi 2006. Reemplacé todas las cadenas AnsiStrings con WideStrings, reemplacé todos los controles VCL con controles TNT y cambié todas las funciones de cadena de AnsiStrings a WideStrings. Parece que todo ese trabajo fue en vano, porque voy a tener que revertirlo todo. ¿Hay alguna forma de que Trick Delphi 2009 piense que las extensiones Widestrings son de hecho UnicodeStrings?Transmitir una aplicación Delphi 2006 unicode a Delphi 2009
Respuesta
No, realmente no lo es. Pero no se arrepentirá del trabajo para realmente habilitar Unicode su aplicación.
Los controles TNT se pueden reemplazar fácilmente con los controles normales de VCL. Puede hacerlo simplemente usando el asistente de GExperts (http://www.gexperts.org) que reemplaza un tipo de control con otro automáticamente.
Luego, puede cambiar todas sus declaraciones WideString por cadenas normales. String es ahora un alias para UnicodeString, por lo que todas sus cadenas pueden contener datos Unicode muy bien.
BTW, el autor de los controles de TNT, Troy Wolbrink, ahora prefiere ampliamente Delphi 2009 a sus propios controles.
Y si pudiera decir, que algunos de los mejores recursos que hay para convertir su código a delphi unicode son los documentos escritos por un tipo nombrado nick. Además, hay un libro bastante bueno de Marco Cantú, que cubre la conversión en profundidad. Hay muchas razones, y hay mucho que pagar para permitir que su aplicación vaya a Delphi nativo de Unicode. Lo hice por al menos una docena de aplicaciones principales. –
Bueno, shucks, Warren. :-) –
La principal ventaja de TNT Controls es que solo funciona como un programa Ansi en Windows 9x. No es unicode completo. Si desea soporte completo Unicode en todas partes (como Stringlist.LoadFromFile, Form.OnKeyPress), es bueno pasar a Delphi 2009.
Incluso reemplacé listas de cadenas en todas partes con WideStringLists. ¿Los archivos de texto son unicode en Delphi 2009? Reemplacé los archivos de texto con Filestreams. – Steve
Puede cargar texto unicode con la lista de cadenas extensas, pero no puede cargar texto del archivo con un nombre de archivo no ansi, tan simple como lo hizo con los nombres de archivo ansi. – samir105
He hecho lo mismo en una aplicación que utilizó diferentes archivos XML como entrada. En mi caso, estaba trabajando con UTF-8 (por lo que podíamos usar cadenas regulares) a lo largo del programa y solo se convirtió a WideString para fines de visualización (controles TNT).
Quité las conversiones entre WideString y UTF-8 y reemplacé los controles TNT con controles VCL normales a mano, ya que solo había un puñado de formularios.
La conversión tomó alrededor de una hora con la prueba. El código es más simple y el programa es notablemente más rápido.
- 1. Aplicación de consola Unicode en Delphi 2009
- 2. ¿Se puede instalar Can Delphi 2009 en la misma máquina que Delphi 2006 o Delphi 2007?
- 3. Delphi 2009 + Unicode + tamaño de char
- 4. Delphi 2009 y Firebird 2.1 = Unicode completo?
- 5. Convertir cadena a PAnsiChar en Delphi 2009
- 6. "Fundamentos de Delphi" en Delphi 2009
- 7. Ocultar el formulario principal en una aplicación Delphi 2009
- 8. Delphi 2009 caprichos de RawByteString
- 9. Delphi Conversion Unicode Issues
- 10. Error en Delphi 2009? -> * .res no se encuentran en la ruta de búsqueda del proyecto (funciona en Delphi 2006)
- 11. Enlazando una Stacktrace en Delphi 2009
- 12. Las razones para actualizar de Delphi 2009
- 13. Delphi 2009 clases/componentes para leer/escribir permisos de archivos
- 14. Leer archivo de texto en Delphi 2009
- 15. Aplicación Delphi 2009 con iconos grandes para Vista
- 16. ¿Cómo declarar variables estáticas en Delphi 2009?
- 17. Casting procedimientos anónimos en Delphi 2009
- 18. Es WideString idéntico a String en Delphi 2009
- 19. ¿Se incluyen QuickReports con Delphi 2009?
- 20. Patrones de diseño para Delphi 2009
- 21. cómo instalar nativeXML usando Delphi 2009?
- 22. ¿Dónde está TShellListView en Delphi 2009?
- 23. Delphi 2009? Ok o con errores?
- 24. conversión de TMemoryStream a 'Cadena' en Delphi 2009
- 25. Actualización paso a paso de Indy 10 en Delphi 2009
- 26. INDY 10.1.5 - ¿Qué DLL dlls funcionan con Delphi 2006?
- 27. Lectura de caracteres Unicode desde un archivo de texto en Delphi 2009
- 28. Finalización de código que no trabajan en Delphi 2009
- 29. Delphi 2009 e Informix dbExpress con Windows 2003
- 30. Delphi 2009 COM/ActiveX biblioteca de tipos estabilidad de apoyo
Por cierto, no dude en aceptar una respuesta aquí ..... –