Page 1 of 2

create object y Ocx

Posted: Sun Apr 03, 2016 8:42 pm
by Adolfo
Estimados...

Tengo un OCX de 32 bits que resgistre sin problemas en windows 64 bits

Try
xCtrl:=CreateObject(OCXSAM350.Ocxsam350Ctrl.1)
Catch
MsgAlert("Error de carga de controlador")
Return Nil
End

MsgAlert(ValType(xCtrl)) // Devuelve "O", correcto
// Aqui Todo Correcto

MsgAlert(xCtrl:Fecha) //-> WinOle 1007 error de argumento

xCtrl:AboutVox() //-> WinOle 1009 No exported Method


Segun Manuales los variables son FECHA,HORA, ESTADO....
Funciones serian, INIT, FINI, ABOUTBOX....
Si reviso su nombre en el editor de registro, esta bien, si reviso sus variables y funciones con OleView y OleBrow, hay coincidencia en nombres de variables y funciones, o sea todo correcto....

Y aqui estoy sin pillarle la vuelta, Cualquier consejo, ayuda sera bienvenida..

Gracias
Desde Chile
Adolfo

Re: create object y Ocx

Posted: Sun Apr 03, 2016 8:49 pm
by Antonio Linares
Prueba con "Date" en vez de "Fecha"

Escribiste AboutBox() con "v", o es al escribirlo en tu mensaje ?

Re: create object y Ocx

Posted: Sun Apr 03, 2016 8:55 pm
by Antonio Linares
Puedes inspeccionarlo con la utilidad que publiqué aqui:

http://forums.fivetechsupport.com/viewt ... 49#p144649

Re: create object y Ocx

Posted: Sun Apr 03, 2016 9:03 pm
by Adolfo
Gracias por la respuesta Antonio...

Si ya lo inspeccione con OleBrow...

SI, tenia un error de tipeo, ahora AboutBox, retorna el mismo error 1007, de error de argumento, a pesar que OleBrow dice :
STDCALL dispatch FUNX void AboutBox()

EL ocx fue creado en Chile, todos las variables estan en español.

Algun otro consejo..

Desde Chile
Adolfo

Re: create object y Ocx

Posted: Sun Apr 03, 2016 9:11 pm
by Antonio Linares
Prueba a pasarle valores distintos a AboutBox()

Re: create object y Ocx

Posted: Sun Apr 03, 2016 9:41 pm
by Adolfo
Probe con

AboutBox()
AboutBox("C")
AboutBox(1)
AboutBox(Chr(13))
AboutBox(Nil)

El mismo error... WinOle 1007 Argument Error:AboutBox

Y ni siquiera puedo obtener el codigo de estado del periferico que se encuentra en la variable ESTADO

Aqui el OCX https://dl.dropboxusercontent.com/u/265 ... sam350.ocx

El nombre del OCX es "OCXSAM350.Ocxsam350Ctrl.1"
En los Win64 se copia en Windows/Syswow64, y se registra son REGSVR32 OCXSAM32, en consola con derechos de administrador
Por si alguien puede a lo menos obtener el valor de las variables o ejecutar el AboutBox

Gracias de antemano

Desde Chile
Adolfo

Re: create object y Ocx

Posted: Mon Apr 04, 2016 7:54 am
by Antonio Linares
Adolfo,

A mi me aparece este error al intentar registrarlo:

Image

Re: create object y Ocx

Posted: Mon Apr 04, 2016 11:31 am
by Adolfo
Antonio...

La llamada al simbolo de sistema debe ser con derechos de administrador, es decir, ejecutar como administrador.

Si no sale ese error.

Probado en Win7 y win10, y lo registra sin problemas asi.

Re: create object y Ocx

Posted: Mon Apr 04, 2016 12:51 pm
by armando.lagunas
adolfo, puede que si o puede que no, pero te puede ayudar:

una vez registré un ocx en syswow64, pero también tuve que hacerlo en el system32, así que copia y registra tu ocx en system32, fue la única forma para que funcionara un programa hecho en otro lenguaje.

saludos

Re: create object y Ocx

Posted: Mon Apr 04, 2016 1:18 pm
by Adolfo
Tenia un bat que lo instalaba...

Revisandolo, esta copiado en Windows/system32 y en windows/syswow64, pero la llamada al regsvr32 se hace desde el directorio syswow64


copy ocxsam350.ocx c:\windows\system32
copy ocxsam350.ocx c:\windows\syswow64
cd c:\windows\syswow64
regsvr32 ocxsam350
echo FINALIZADO

No se si sera necesario, pero vale la pena intentarlo asi.
Boton derecho sobre el bat, ejecutar como administrador.

Desde Chile
Adolfo

Re: create object y Ocx

Posted: Mon Apr 04, 2016 3:58 pm
by Antonio Linares
Lo he intentado como indicas y sigue dando error

Re: create object y Ocx

Posted: Mon Apr 04, 2016 4:00 pm
by Antonio Linares
Image

Re: create object y Ocx

Posted: Mon Apr 04, 2016 9:11 pm
by Adolfo
Lo he probado en 4 Pc's...
Windows Xp, Win7, win8.1, Win 10

Sin errores de instalacion, he aqui el lugar donde encontre la solucion al primer problema que tuve.

http://answers.microsoft.com/en-us/wind ... bd9?auth=1

Me parece extraño que no te funcione Antonio.
Con que mas puedo cargar un OCX aparte de createobject(), se puede transformar en LIB y llamarla desde adentro, porque al fin y al cabo un ocx es otra forma de DLL, o estoy muy equivocado.

Saludos y gracias nuevamente.

Desde Chile
Adolfo

Re: create object y Ocx

Posted: Mon Apr 04, 2016 9:28 pm
by Antonio Linares
Solo lo puedes usar con CreateObject()

Re: create object y Ocx

Posted: Mon Apr 04, 2016 9:36 pm
by Antonio Linares