La Web del Programador: Comunidad de Programadores
 
    Pregunta:  46212 - PASANDO CHAR* A UNA FUNCIóN VISUAL BASIC
Autor:  Jesús Trujillo Gómez
Hola a todos. Mi duda no debería de ser demasiado difícil, pero es que estoy un poco desesperado jejeje.

Tengo una dll externa hecha en visual basic, con una función definida como:
void create_net ( char *sFicheroPatrones, int iNumPatterns, char* sFichDisplay)

Llamando funciones desde builder c++ de esta dll me doy cuenta que todas aquellas a las que les paso una cadena de texto \"hola.txt\" o BSTR(\"hola.txt\") me da errores.

Alguien sabe como quiere Visual basic que le pase la cadena char* que hace mención al fichero de patrones??Saludos y gracias por adelantado!!!

  Respuesta:  Fernando Gómez
VB no sabe nada de char*'s. VB entiende solo las cadenas de tipo BSTR. Pero un BSTR no lo creas así como quieres. Tienes que emplear las funciones del API SysAllocString y SysFreeString para asignar y desasignar una cadena. Puedes emplear la clase _b_str para facilitarte la labor.

Saludos.