Re: Utilizar objeto COM de libreria .dll

155 views
Skip to first unread message
Message has been deleted

HernanCano

unread,
Nov 11, 2014, 10:31:17 PM11/11/14
to publice...@googlegroups.com
Voy a responder, pero te cuento que das muy poca información y si lo que te doy no funciona, entonces debes dar más información.

Parece que la DLL es para realizar una conexión a una base de datos, de la cual no se sabe qué motor es ni otros datos para realizar la conexión (ésta es muy probablemente una manera de proteger/asegurar la base de datos impidiendo conexiones no autorizadas).

La instrucción new parece definir un objeto creado por la función Enlace, pero no muestras el código de la clase Enlace, así que aquí también te faltará info para crear la conexión.

Mi mejor recomendación es que contactes al programador/dueño de la app y concilies con él sobre la doc y/o explicación sobre ésta y otras cosas que vas a necesitar.

TIP:
Una DLL se "instancia" desde VFP más o menos así:  http://fox.wikis.com/wc.dll?Wiki~SystemFolder  

?getWinDir()
?getSysDir()
FUNCTION  getSysDir 
   DECLARE INTEGER GetSystemDirectory IN kernel32 STRING @lpBuffer, INTEGER nSize  
   lpBuffer = SPACE (100)  
   nRetSize = GetSystemDirectory (@lpBuffer, Len(lpBuffer))  
   RETURN SUBSTR (lpBuffer, 1, nRetSize)  
ENDFUNC

FUNCTION getWinDir()
   DECLARE INTEGER GetWindowsDirectory IN kernel32 STRING @ lpBuffer,INTEGER nSize
   lpBuffer = space(100)
   nRetSize = GetWindowsDirectory(@lpBuffer,100)
   RETURN SubStr(lpBuffer,1,nRetSize)
ENDFUNC

El martes, 11 de noviembre de 2014 17:28:10 UTC-5, José Luis escribió:
Hola amigos,

Necesito utilizar una libreria .dll llamada A3erpActiveX.dll creada con VS pero no me aclaro de como referenciarla en VFP
El código que tengo en VS es el siguiente:

a3enlace = new Enlace();
a3enlace.RaiseOnException = true;
a3enlace.LoginUsuario("sa", "12345"); //Si no lo ponemos, pide usuario y pass
if (a3enlace.SelecEmpresa())
      {
       MessageBox.Show("Conectado");
       }
else
       {
       MessageBox.Show("No Conectado");
       }

Gracias por su ayuda

José Luis

unread,
Nov 12, 2014, 8:23:06 AM11/12/14
to publice...@googlegroups.com
Hola HernanCano,

Adjunto algo de documentación por si te sirve.

¿Qué lenguaje de programación hay que usar?
Cualquier lenguaje que soporte la invocación de objetos COM.

Objeto Enlace: Inicia y cierra la conexión con la base de datos de una empresa. Mantiene las variables de error.

property RaiseOnException: WordBool;
function LoginUsuario(sUsuario,sPassword: WideString):WordBool;
function SelecEmpresa: WordBool;

La dll está realizada en Delphi 6

Agradeceré la ayuda que me puedas prestar

José Luis

unread,
Nov 12, 2014, 11:10:39 AM11/12/14
to publice...@googlegroups.com
Hola amigos,

Ya lo he solucionado
Según veo al ser una dll.net no se puede utilizar con la instrucción DECLARE sino creando directamente el objeto con CREATEOBJETC

Más información en este link:
http://www.tek-tips.com/viewthread.cfm?qid=1619542

Gracias
Reply all
Reply to author
Forward
0 new messages