Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Topic started by: E.P.I. on 30 January 2010, 13:05 PM

Title: Dll's en C++ incorporados
Post by: E.P.I. on 30 January 2010, 13:05 PM
Hola,

quería preguntar una estupidez... tengo un código en C++ y quiero hacer la GUI en VB. Creo una dll en C++, y después... ¿cómo la incorporo en VB? ¿Con LoadLibrary? Si ese es el caso, ¿me lo podrían explicar?

Muchas gracias.
Title: Re: Dll's en C++ incorporados
Post by: Karcrack on 30 January 2010, 13:43 PM
Quote from: E.P.I on 30 January 2010, 13:05 PM
Hola,

quería preguntar una estupidez... tengo un código en C++ y quiero hacer la GUI en VB. Creo una dll en C++, y después... ¿cómo la incorporo en VB? ¿Con LoadLibrary? Si ese es el caso, ¿me lo podrían explicar?

Muchas gracias.
No compiles la DLL con la conveccion de llamada CDECL, sino con stdcall ;)
Title: Re: Dll's en C++ incorporados
Post by: MCKSys Argentina on 30 January 2010, 23:24 PM
Hola!

La puedes incorporar como si lo hicieras con cualquier otra API. Defines la funcion/sub con Declare y listo.

Por supuesto, como dice Karcrack, al momento de compilar en C++ debes seleccionar la convención de llamadas STDCALL. Si usas CDECL (la que es por defecto) VB fallará al llamar a la función.

Saludos!
Title: Re: Dll's en C++ incorporados
Post by: el_c0c0 on 31 January 2010, 05:21 AM
Quote from: Karcrack on 30 January 2010, 13:43 PM
Quote from: E.P.I on 30 January 2010, 13:05 PM
Hola,

quería preguntar una estupidez... tengo un código en C++ y quiero hacer la GUI en VB. Creo una dll en C++, y después... ¿cómo la incorporo en VB? ¿Con LoadLibrary? Si ese es el caso, ¿me lo podrían explicar?

Muchas gracias.
No compiles la DLL con la conveccion de llamada CDECL, sino con stdcall ;)

Con CDECL y el modulo cCDECL podes usar las funciones de manera dinamica, es decir, no las declaras.. el tema es si manejas objetos, se te puede llegar a complicar. pero de todas formas, creo q con STDCALL vas a ir bien :D

y en stdcall declaras mas o menos asi:
Code (vb) Select
Declare Function FuncName Lib "tuDll.dll" (ByVal param1 As Long) As Long

saludos
Title: Re: Dll's en C++ incorporados
Post by: E.P.I. on 31 January 2010, 13:25 PM
Gracias a todos, me ha servido!