La Web del Programador: Comunidad de Programadores
 
    Pregunta:  36118 - PARAMETRO STRING Y SHORT POR REFERENCIA EN DLL
Autor:  Christian Vasquez Perales
Entorno: Windows 95/98, IDE: Visual C++ 6.0.

Yo he creado una DLL con la opción MFC AppWizard (dll) y funcionan correctamente las funciones que he contruido.

El Problema es que necesito pasar parámetros (Cadenas y Números) por referencia, es decir que la función me pueda devolver el valor cambiado del parámetro.

Por el momento devuelvo valores por el código de retorno, pero en una función necesito devolver varios parámetros, en una misma función.

Si necesitan más información, contacten conmigo.

Desde ya muchas gracias por su Atención.

  Respuesta:  Christian Vasquez Perales
Paso de cadenas de caracteres

Para pasar cadenas de caracteres se puede utilizar un programa BASIC como éste:

Dim Text1 As String
Text1 = String(50, "*")
Prueba3 (Text1)
Resultado.Text = LTrim$(Text1)

en donde la función Prueba3 se define:

Private Declare Function Prueba3 Lib "path\query.dll" Alias "_Prueba3@4" (ByVal texto As String) As Integer

y está programada en C++ de la manera siguiente:

MY_IMPORT int CCONV Prueba3(char *texto){
strcpy (texto, "Resultado de la prueba");
return (0);
}