Char[] != String

Iniciado por Hendrix, 7 Agosto 2007, 15:14 PM

0 Miembros y 1 Visitante están viendo este tema.

Hendrix

el Char[] es un array de letras, por lo tanto, tedria que ser lo mismo que una string, pero no lo es... :-\ :-\

Intentare comunicarlos por pipes, aunque es algo engorroso tener que comunicarlo asi.... :-\ :-\
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

Ferсhu

hendrix q keres pasar una cadena en c++ a una dll?? q error te tira?? probaste con DWORD? no entendi muy bien en donde estas probando  :-\

byebye

hendrix usa archivos mapeados para eso que es mas comodo que usar pipes.

Hendrix

Ok, ya vere como lo soluciono.... :-\ :-\
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

SaXo

No estoy seguro pero por lo que he visto y leido en este hilo tu función espera un tipo de dato String y tu estás haciendo una llamada a la función pasandole un tipo de dato char, bueno, un array de char.

En este caso o bien creas un dato de tipo String o bien le dices a tu función que espera un dato de tipo char.


Ferсhu

CitarEn este caso o bien creas un dato de tipo String o bien le dices a tu función que espera un dato de tipo char.

en c++ no hay tipo string  :xD, lo q si puede funcionar es lo q dijo Ragnarok de ponerlo como "As Byte"


SaXo

Cuando empezaba a estudiar C++ de las primeras cosas qeu nos enseñaron fue la sobrecarga de operadores y la creación de un objeto String para usarlo como tipo de dato...

String no existe como tipo de dato primitivo en C++ pero se puede crear.

Ragnarok

Puedes llamar String al char*, o puedes usar el string de la stl. Ninguna de las dos cosas va a funcionar, porque lo que hay que hacer es usar el mismo tipo de datos que la dll.
No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones

Ferсhu

Por lo q estuve viendo NO es algo SIMPLE, el problema no solo pasa por los tipos, sino q tambien es por q vb trabaja con cadenas unicode, asi q habria q pasarle una cadena en ese formato.

ensima es un lioo, estuve probando jaj y cuando queres pasar algo y no coinciden los tipos no te enteras nada, solo te salta error y hay adivinar. No es como cuando compilas q te dice x Ej :
"invalid conversion from `TCHAR*' to `char'"  entonces lo ves y lo cambias  :xD

Bueno ahora yo tmb quiero saber como hacer jej y para los q kieran probar le dejo algunos links

Para hacer la dll con visual basic
h ttp://www.elguille.info/vb/avanzado/crear_dll_windows_con_vb6_explicado.htm

Y encontre esta info pero habla de cosas parecidas
h ttp://www.recursosvisualbasic.com.ar/htm/tutoriales/interaccion-visual-basic-c++.htm
h ttp://support.microsoft.com/kb/194609/es
h ttp://www.elguille.info/colabora/vb/VB2VC.HTM


Saludos!!

someRandomCode

Y si probas en vez de stl::string o Byte, un LPTWSTR o LPWSTR?
suerte con eso, si encontras solucion chifla :)