Buenas tardes gente....
Necesito pasar una cadena de texto de Visual Basic 6 a una Dll de DevC++ y mostrar un mensaje de la DLL
Tengo entendido que VB6 usa Unicode y DevC++ Ansi.... y no encuentro como convertirlo....
El código de la Dll es
en el .CPP
En el .H
En VB6
Al correr el ejecutable de VB6 me tira un mensaje con símbolos....
Gracias de antemano
Necesito pasar una cadena de texto de Visual Basic 6 a una Dll de DevC++ y mostrar un mensaje de la DLL
Tengo entendido que VB6 usa Unicode y DevC++ Ansi.... y no encuentro como convertirlo....
El código de la Dll es
en el .CPP
Código (cpp) [Seleccionar]
extern "C" __declspec( dllexport ) __stdcall void Mensaje(char Titulo[], char* Mensaje)
//extern "C" __declspec( dllexport ) __stdcall void Mensaje(char *Titulo, char &Mensaje)
//extern "C" __declspec( dllexport ) __stdcall void Mensaje(const char *Titulo, char* Mensaje)
//extern "C" __declspec( dllexport ) __stdcall void Mensaje(const char Titulo, char* Mensaje)
//extern "C" __declspec( dllexport ) __stdcall void Mensaje(LPCTSTR Titulo, char* Mensaje)
//extern "C" __declspec( dllexport ) __stdcall void Mensaje(TCHAR *Titulo, char* Mensaje)
//extern "C" __declspec( dllexport ) __stdcall void Mensaje(unsigned char Titulo, char* Mensaje)
{
/*char *Convertir(char cad[])
{
int i;
for ( i = 0 ; cad[i] != '\0' ; i++ )
if( i == 0 || cad[i-1]==' ' || cad[i+1]== ' ' || cad[i+1]=='\0')
if(cad[i] >= 'a' && cad[i] <= 'z') cad[i] -= 32;
return cad;
}
Convertir(Titulo);
Convertir(Mensaje);*/
//convertir char* a LPCTSTR
//LPCTSTR stringT = Titulo;
//convertir char* a LPCSTR
//LPCTSTR stringT;// = Titulo;
//CString stringT;
//TCHAR stringT;
//t_char stringT[];
//stringT = Titulo;
//LPCTSTR stringM;// (Mensaje);
//char stringM[54];
//stringM = Mensaje;
//int MAX_PATH;
//MAX_PATH = 200;
//char szANSIString [MAX_PATH];
/*WideCharToMultiByte (CP_ACP, // página de códigos ANSI
WC_COMPOSITECHECK, // Verificar caracteres acentuados
//wszUNICODEString, // Cadena Unicode de origen
Titulo,
-1, // -1 significa que la cadena tiene terminación cero
//szANSIString, // cadena de caracteres de destino
stringT,
//sizeof (szANSIString), // Tamaño del búfer
sizeof (stringT),
NULL, // Sin carácter predeterminado
TRUE); // No me importa esta bandera
*/
//MessageBox(NULL, Titulo.c_str(), stringM, MB_ICONINFORMATION);
//MessageBoxA(NULL, stringT, stringM, MB_ICONINFORMATION);
//MessageBox(NULL, stringT, Mensaje, MB_ICONINFORMATION);
MessageBox(NULL, Titulo, Mensaje, MB_ICONINFORMATION);
}
En el .H
Código (cpp) [Seleccionar]
//extern "C" __declspec( dllexport ) __stdcall void Mensaje(char* Titulo, char* Mensaje);
extern "C" __declspec( dllexport ) __stdcall void Mensaje(char Titulo[], char* Mensaje);
//extern "C" __declspec( dllexport ) __stdcall void Mensaje(LPCSTR Titulo, char* Mensaje);
//extern "C" __declspec( dllexport ) __stdcall void Mensaje(char *Titulo, char &Mensaje);
//extern "C" __declspec( dllexport ) __stdcall void Mensaje(const char Titulo, char* Mensaje);
//extern "C" __declspec( dllexport ) __stdcall void Mensaje(LPCTSTR Titulo, char* Mensaje);
//extern "C" __declspec( dllexport ) __stdcall void Mensaje(TCHAR *Titulo, char* Mensaje);
//extern "C" __declspec( dllexport ) __stdcall void Mensaje(unsigned char Titulo, char* Mensaje);
En VB6
Código (vb) [Seleccionar]
En VB6
Private Declare Sub Mensaje Lib "dll.dll" (Titulo As String, Mensaje As String)
Private Sub Command1_Click()
Mensaje "Este es el título", "Este es el mensaje"
End Sub
Al correr el ejecutable de VB6 me tira un mensaje con símbolos....
Gracias de antemano