Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: TOLO68 en Febrero 08, 2017, 04:08:39 pm

Título: Importar Controles OCX hechos con VB6, en otros lenguajes
Publicado por: TOLO68 en Febrero 08, 2017, 04:08:39 pm
Hola a todo el foro

- Tengo unos controles OCX que empezé haciendolos con VB5 CCE y ahora los estoy acabando con VB6.
- Cuando los compilo con VB6, los puedo importar en VB5, VB6, Delphi 3, y creo que tambien lo probe en Delphi 4.
- El problema es que no los puedo importar en C++ Builder 5 (no aparecen en la barra de componentes), en C++ Builder 6 si pude, pero desmarcando algo que ponia CoClass en alguna parte de las opciones.
- Los pasos para importarlos en C++ Builder son casi los mismos que para importarlos en Delphi.
- He buscado por Google......"Import VB6 OCX in C++ Builder 5", he visto algunos tips con TlibImp parecidos a esto......
"tlibimp -C+ -Yu -Ya -H+ -Q+ -R+ ControlName.ocx", me creaba unos archivos *.TLB, pero haciendo estos pasos sigue igual, sin poder importarlos.
- Alguien sabe a que se debe esto????, o es que los controles OCX hechos en VB no son del todo compatibles con otros lenguajes.

Título: Re:Importar Controles OCX hechos con VB6, en otros lenguajes
Publicado por: NEBIRE en Febrero 08, 2017, 05:29:02 pm
La respuesta corta:
Tiene que ver con el tipo de pase de parámetros... VB y las API de win2, usan stdcall, luego hay dificultades en lenguajes que usan otra convención. (en NET se usa Cdecl, pero se ha previsto la importación de COM, y también desde NEt se pueden crear librarías para usar en COM)

La respuesta larga:
https://en.wikipedia.org/wiki/X86_calling_conventions