Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Concatenar UnicodeString

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Concatenar UnicodeString Responder citando

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
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
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


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.