 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
snupoo Lt Cmdr


Registrado: 19 Feb 2004Mensajes: 108Ubicación: Merida yucatan Mexico
|
Publicado: Sab 12 Sep, 2009 1:01 am Asunto: Concatenar UnicodeString |
|
|
Hola a todos antes que nada me da mucho gusto estar por acá de nuevo, por cuestiones ajenas estuve separada de la programación un tiempo y acá es donde está el problema, tengo un proyecto que inicie en la versión 6 de builder, el cual aun que no está completo tiene módulos que funcionaban, ahora estoy trabajando con la versión RAD 2010 y al momento de compilar me aparecen los famosos errores de los UnicodeString la mayoría los he resuelto sin tanto problema leyendo en el foro o buscando en gooogle. El problema que no he podido solucionar es la de concatenar 2 UnicodeString, tengo el sigueinete código que funcionaba en bulder 6
| Código: |
void __fastcall TMainForm::impor1Click(TObject *Sender)
{
AnsiString mensaje;
try
{
//no importa este código
}
catch(Exception *Ex)
{
mensaje = "No se pueden recuperar los datos del catalogo.\n";
Application->MessageBoxA( (mensaje + Ex->Message).c_str(), "Error", MB_OK|MB_ICONHAND);
}
return;
}
|
Como ven hago una concatenación de mensaje con Ex->Message para que el usuario sepa cual es el error y yo tenga una referencia del error para solucionarlo mas rápido.
Al compilar con RAD 2010 me salen estos errores
| Código: |
[BCC32 Error] main.cpp(375): E2034 Cannot convert 'char *' to 'const wchar_t *'
[BCC32 Error] main.cpp(375): E2342 Type mismatch in parameter 'Text' (wanted 'const wchar_t *', got 'char *')
|
Ya trate de varias formas pero no logro concatenar los 2 mensajes he cambiado mi código por este:
| Código: |
void __fastcall TMainForm::impor1Click(TObject *Sender)
{
wchar_t *mensaje;
try
{
//no importa
}
catch(Exception *Ex)
{
mensaje = L"No se pueden recuperar los datos del catalogo.\n";
Application->MessageBoxA( (mensaje + Ex->Message.t_str()) , L"Error", MB_OK|MB_ICONHAND);
}
return;
}
|
Pero ahora me marca este error
| Código: |
[BCC32 Error] main.cpp(376): E2085 Invalid pointer addition
|
Saludos y espero que alguien me ayude. _________________ [img]http://folding.extremeoverclocking.com/sigs/sigimage.php?un=snupoo&t=86565/sigimage.gif[/img]
A programar se aprende programando |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Sab 12 Sep, 2009 1:29 am Asunto: |
|
|
Prueba del siguiente modo:
void __fastcall TMainForm::impor1Click(TObject *Sender)
{
String mensaje;
try
{
//no importa este código
}
catch(Exception *Ex)
{
mensaje = "No se pueden recuperar los datos del catalogo.\n";
Application->MessageBox( (mensaje + Ex->Message).c_str(), L"Error", MB_OK|MB_ICONHAND);
}
return;
} |
|
| Volver arriba |
|
 |
rockman2003 Master

Registrado: 27 Ene 2004Mensajes: 202Ubicación: Madrid
|
Publicado: Dom 13 Sep, 2009 3:39 pm Asunto: |
|
|
Que casualidad!!!
Hoy mismo me he puesto a migrar mi proyecto de Builder 6 a RAD 2009 y me he encontrado este problema.
Lo que yo he hecho es sustituir todos los Application->MessageBox( por MessageBoxA(NULL,
Por ejemplo:
| Código: | Application->MessageBox( (mensaje + Ex->Message).c_str(), "Error", MB_OK|MB_ICONHAND); |
por
| Código: | MessageBoxA( (NULL,mensaje + Ex->Message).c_str(), "Error", MB_OK|MB_ICONHAND); |
PD: Viendo la gran cantidad de problemas que nos vamos a encontrar, podríamos abrir un hilo con chincheta donde mostramos que vamos haciendo para que al resto le resulte más fácil.
Yo por mi parte estoy peleandome aún con los componentes que utilizo, así que aun me queda ... |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|