Dll con power builder

Ojala me puedas ayudar con este problemita:
En Visual C cree una DLL "dllfile.dll" con una función para ser utilizada con power builder que tiene el siguiente prototipo
int AbrirArchivo( char *fl)
en power builder la declaro como
FUNCTION int AbrirArchivo(ref string cad) LIBRARY "dllfile.dll"
El problema es que me arroja un error en tiempo de ejecución, algo como si los tipos de datos no coinciden.

1 respuesta

Respuesta
1
Es probable que sea por los tipos de datos.
Fíjate si esto te ayuda:
PowerBuilder / Datatype C/C++ Datatype
Blob PBBlob
Boolean int
Character char
Date PBDate
DateTime PBDateTime
Decimal PBDecimal
Double double
Integer int
Real float
String PBString
Time PBTime
UnSignedInteger unsigned int
C/C++ Datatype /PowerBuilder Datatype
BOOL Boolean
WORD UnSignedInteger
DWORD UnSignedLong
HANDLE UnSignedLong
HWND UnSignedLong
LPSTR String Ref
LPBYTE String Ref
LPINT Long Ref
char Blob{1}
int Integer
unsigned int UnSignedInt
long Long
ULONG/unsigned long UnSignedLong
double Double
char * String Ref
Asegurate de estar llamando bien la función.
1. Que estas pasando un nombre de archivo correcto.
2. Que estas pasando una variable
Revisa esta página y las que se referencian al pie de la misma para más información:
http://www.sybase.com/detail?id=44648
Gracias por tu tiempo experto, solo para salir de dudas, dime donde debe estar la dll cuando ejecuto el programa
Si declaras así:
FUNCTION int AbrirArchivo(ref string cad) LIBRARY "dllfile.dll"
yo la pondria en el directorio de la aplicacion.
sino podes hcer algo asi:
FUNCTION int AbrirArchivo(ref string cad) LIBRARY "c:\system\dllfile.dll"
y ponerla de acuerdo.
Sino ademas podes probar registrar la dll con una función de windows que se llama "regsvr32" o similar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas