![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
Realizo una aplicacion VB6, y el ocx anda perfecto. El ocx solo tiene dos funciones: Public Function suma(a As Double, b As Double) As Double Public Function retString() As String pero cuando lo importo desde Delphi desde la opcion "import ActiveX/component" me sucede lo mimos, me crea la TLB.pas, en ella puedo ver las funciones exportadas de ocx en las interfaces "_UserControl1 = nterface(IDispatch)" y " _UserControl1Disp = dispinterface" pero no veo ninguna clase, ni tampoco conponente nuevo en la paleta de componentes, pero me dice que el componente creado esta instalado. Al no haber dicha clase, el componente no se registra en la seccion de paletas. Tambien probe "Import Type Library" pero es el mismo resultado. Tambien he estado dando vueltas for foros, pero nada... Algo raro es que si veo el .ocx con Dependency Walker solo veo que exporta DllRegisterServer, DllUnregisterServer, DllCanUnloadNow,DllGetClassObject. no veo a suma y retString. Otra cosa rara es que cuando le doy instalar al paquete que envuelve al Active X (creado por Delphi), me dice que se instalo satifactorimente, pero no me indica los coponente registrados. No me registra el ActiveX. Y estoy estancado...
__________________
Aprendamos a ser civilizados Última edición por orfeo fecha: 12-02-2006 a las 23:53:01. |
|
#2
|
|||
|
|||
|
Hola,
Pues siento no poder ayudarte pero yo no pude solucionarlo finalmente. Después de estar dandole vueltas unos cuantos dias acabé por hacer una solución intermedia traspasando información entre un programa VB y el de delphi mediante ficheros de texto. En fin, si alguien sabe la solución de todas formas, que la diga que tengo curiosidad. Saludos.
__________________
[Aprendiz]: Por que siempre hay algo nuevo que aprender. |
|
#3
|
|||
|
|||
|
Hola, yo igual tengo el mismo problema pero creo que estoy cerca de resolverlo. El asunto es que el componente que importas es un componente no visual, es decir, no se va a poner en la paleta de componentes. Lo que podrias hacer y lo que yo estoy haciendo es utilizando la clase que me genera, osea el .pas y esa clase tienes que declararle un objeto o instancia para luego ya poder utilizar las funciones y procedimientos que tiene dicho objeto....
|
|
#4
|
|||
|
|||
|
Hola
Yo tuve el mismo problema, un DLL (OCX) no visual y ya lo hice trabajar en Delphi 2005. Si gustas contactarme a mi correo:
[email protected] Con gusto te puedo ayudar. Saludos!! Fernando |
|
#5
|
|||
|
|||
|
Hola,
No se si ya lo solucionaron, pero por las dudas, les cuento que en los newsgroups de borland encontré la forma de hacer que Delphi genere la clase y la instale en la paleta de activex. Ahora puedo seleccionar el componente y ponerlo en un form. Bueno, hay que ir al menu tools->environment options->type library y tildar "Ignore special CoClass Flags when importing", y tildar todas las subopciones necesarias como "Can Create", etc... hasta que genere el código de la clase e instale el componente en la paleta de componentes. Espero les sirva Saludos |
|
#6
|
|||
|
|||
|
Hola
No se si tuviste tiempo de revisar tu correo, por ahi te mandé algo.
Saludos Fernando Castro México, D.F. |
|
#7
|
|||
|
|||
|
Hola
Yo tambien estoy teniendo el mismo problema con un DLL (OCX) no visual, he logrado instalarlo en una máquina con Delphi 7 y puedo verlo en la paleta de activeX, pero al hacer la llamada no funciona, ahora estoy intentando instalarlo en una pc con Delphi 2005 y no puedo hacerlo correctamente, lo importo a "activeX", pero no veo este grupo en la paleta, intento también hacerlo en standar y otros, pero no se agrega a ninguno. He hecho los pasos de rodrigo pero no logro instalarlo bien. gracias. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|