Tengo que convertir una aplicación legacy de gran tamaño a Delphi 2009 que usa cadenas, AnsiStrings, WideStrings y datos UTF8 por todas partes y me cuesta entender cómo funcionan los nuevos tipos de cadenas y cómo deben usarse.¿Cómo funcionan los nuevos tipos de cadenas en Delphi 2009/2010?
La aplicación es totalmente compatible con Unicode con TntUnicodeControls y hay archivos DLL de terceros que requieren cadenas en codificaciones específicas, principalmente UTF8 y UTF16, por lo que la tarea de conversión no es tan trivial como uno sospecha.
Especialmente tengo problemas con las llamadas de DLL C y elijo el tipo correcto. También tengo la impresión de que hay muchas conversiones de cadenas implícitas, porque una de las DLL parece siempre recibir cadenas codificadas en UTF-8, sin importar cómo esté codificada la cadena Delphi.
¿Puede alguien dar una breve descripción de los nuevos tipos de cadenas Delphi 2009 UnicodeString y RawByteString, quizás algunos consejos de uso y posibles dificultades al convertir una aplicación anterior a 2009?
Las repeticiones de CodeRage 4 se han puesto en línea; vea http://www.delphifeeds.com/go/s/60421 y http://conferences.embarcadero.com/coderage/sessions –