FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
const char* de C a String de Delphi
Hola.
Estoy utilizando SDL2 en DelphiXE5 y tengo un problema en todas las funciones de SDL2 que devuelven una cadena, el valor que leo siempre son letras japonesas. Según la documentación de SDL2 todas las cadenas están codificadas en UTF8. De hecho las funciones SDL2 a las que yo les tengo que pasar cadenas los hago con: PChar(UTF8Encode(cadena)) y funciona perfectamente, pero cuando es SDL2 el que me devuelve la cadena no. Os pongo un caso concreto: función SDL_GetHint La documentación dice: Código:
Syntax const char* SDL_GetHint(const char* name) Function Parameters name : the hint to query; Return Value Returns the string value of a hint or NULL if the hint isn't set.
A la hora de usarla en mis juegos he probado varias formas, pero siempre me devuelve letras japonesas o interrogantes. Os pongo algunas de las llamadas que he hecho, en las 2 primeras me devuelve letras japonesas y en las otras 3 devuelve: ???t
¿ Alguna idea de como recuperar el valor real de la cadena ? Como digo el pasar cadenas a las funciones de SDL2 con PChar(UTF8Encode(cadena)) funciona perfectamente, está comprobado en todas las funciones SDL2 a las que hay que pasar una cadena. El problema lo tengo cuando es SDL2 el que me devuelve las cadenas. Gracias. |
#2
|
||||
|
||||
¿Qué es SDL2?
|
#3
|
||||
|
||||
SDL2 son unas librerías para hacer juegos o programas multimedia multiplataforma: Windows, Linux, mac, ios, Android y unos cuantos sistemas más.
www.libsdl.org De SDL había unos headers para Delphi/Pascal hechos por JEDI, pero no funcionaban desde los Delphi XE y tampoco para SDL2. Yo estoy acabando de hacer los de SDL2 para delphixe5/6 compatibles con win32, win64, mac y supongo que ios (no he probado por no tener licencia de desarrollador). Lo que me está costando mucho más es para Android porque ha de pasar por un java que aun no se como hacer. Cuando tenga los headers acabados los publicaré para que todo el mundo los pueda usar. Puedes ver como funcionan en la última versión (1.14F) de mi juego www.miniracingonline.com las versiones anteriores usaban unDelphiX Saludos |
#4
|
||||
|
||||
¿ Nadie tiene idea de como leer esos strings desde la dirección que devuelve sdl2.dll ?
Gracias |
#5
|
||||
|
||||
Por lo que dices, el problema parece ser que las cadenas que devuelve SDL no están codificadas correctamente. ¿Seguro que es UTF-8? ¿Cuál es el orden (endianess) de los octetos, Microsoft o Motorola (bigendian/littlendian)? ¿La alineación es correcta?
De todas formas, en Pascal Game Development hay gente con más experiencia con SDL. Yo soy más de Allegro. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
char to string? | Laurogriffin | Varios | 4 | 29-01-2012 22:07:18 |
Convertir char*, char[], string | lmpadron | C++ Builder | 2 | 29-10-2010 09:08:45 |
Uso de Const con parámetros String | marcoszorrilla | Trucos | 0 | 29-06-2006 22:51:31 |
(const Value: string) vs (Value: string) | eliash | OOP | 10 | 14-12-2005 19:10:13 |
Pasar string a char | Sayuri | Varios | 3 | 09-08-2005 16:35:29 |
|