Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Operacion Interface de Usuario no permitida
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
COM/DCOM et OLE Automation
Divers
Thread ID:
00778071
Message ID:
00778098
Vues:
18
MESSAGEBOX es tu problema, no puedes tener nada de la interfaz de fox en una clase olepublic.


>Tengo una clase asi:
>
>DEFINE CLASS Proxy AS SESSION OLEPUBLIC
> FUNCTION Do(cCommand,cProgramFile )
> IF TYPE("cProgramFile")<>'L'
> IF '.PRG' $ UPPER(cProgramFile )
> SET PROCEDURE TO &cProgramFile
> ENDIF
> ENDIF
> xRetVal = &cCommand
> * Clear the PRG from memory so
> * we can replace it later on.
> IF TYPE("cProgramFile")<>'L'
> SET PROCEDURE TO
> CLEAR PROGRAM &cProgramFile
> ENDIF
> RETURN xRetVal
> **-------------------------------------------
> FUNCTION Init()
> SET RESOURCE OFF
> SET EXCLUSIVE OFF
> SET CPDIALOG OFF
> SET DELETED ON
> SET SAFETY OFF
> RETURN DODEFAULT()
> **-------------------------------------------
>ENDDEFINE
>
>Un programa llamado OtrosProg.prog asi:
>
>FUNCTION Mensaje
> =MESSAGEBOX('Un COM+ MotorFox, en la Web.. este es un PROCEDURE')
>RETURN
>**--------------------------------------
>FUNCTION xx
> a=13
>RETURN a
>
>Si eres observador te daras cuenta que la clase lo unico que hace es ejecutar
>cualquier funcion foxpro, o un procedimiento que este en alguna libreria espesificada en cProgramFile.
>
>Bueno, cuando llamo a cualquier funcion (Mensaje(), o xx()), no hay problema.
>es decir:
>
>obj = newobject("Proxy","c:\tmp\proxy\proxy.prg") &&-- Creo la Intancia
>?obj.do("xx()","c:\tmp\proxy\otrosprog.prg")
>?obj.do("mensaje()","c:\tmp\proxy\otrosprog.prg")
>release o
>
>El problema esta cuando creo la DLL Multithread(Le llame Proxy.dll), y configuro el componente en Sistema operativo, me lanza un error al ajecutar la funcion mensaje() es decir:
>
>o = newobject("Proxy.proxy")
>?o.do("xx()","c:\tmp\proxy\otrosprog.prg") && bien!!
>?o.do("mensaje()","c:\tmp\proxy\otrosprog.prg") && Mal y lanza el error
>
>El error es:
>
>"OLE IDispatch exeption code 2031 operacion de interface de usuario no permitida en este momento 2031"
>
>
>Ayuda!!
Dominican Republic, a Paradise in America
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform