Saber si una dll esta registrada

404 views
Skip to first unread message

Ricardo Soldini

unread,
Aug 26, 2021, 9:15:01 PM8/26/21
to Comunidad de Visual Foxpro en Español
Buenas amigos (as) Hay alguna manera de saber si un dll esta registrada desde fox?
Agradezco de antemano sus comentarios

Germán Fabricio Valdez

unread,
Aug 26, 2021, 11:38:28 PM8/26/21
to Comunidad de Visual Foxpro en Español
yo uso este metodo, no se si hay otro....

ve=.F.
TRY 
oc=CREATEOBJECT("sqldata.sqldata")
ve=.T.
CATCH
FINALLY
ENDTRY

IF ve &&registrada
oc.ppp()
ENDIF 

ZeRoberto

unread,
Aug 26, 2021, 11:43:50 PM8/26/21
to publicesvfoxpro
Tambien puedes probar esto

Procedure Register()
   If !This.IsRegistred("RICHTEXT.RichtextCtrl.1")
       This.DllRegister("richtx32.ocx")
   EndIf
   If !This.IsRegistred("MSComctlLib.TreeCtrl.2")
       This.DllRegister("mscomctl.ocx")
   EndIf
   If !This.IsRegistred("COMCTL.ProgCtrl.1")
       This.DllRegister("comctl32.ocx")
   EndIf
EndProc
   
Procedure IsRegistred(tcClassName)
   luResult = RegReadKey("HKEY_CLASSES_ROOT\" + tcClassName + "\", NULL)
   Return !IsNull(luResult)
EndProc
 
Procedure DllRegister(tcFileName)
   Declare Integer DllRegisterServer In (tcFileName)
   DllRegisterServer()
   Clear Dlls "DllRegisterServer"
EndProc

Function RegReadKey
Parameters tcFolder, tuDefault
Local loHandler, luResult
    luResult = tuDefault
    Try
        loHandler = CreateObject("WScript.Shell")
        luResult = loHandler.RegRead(tcFolder)
    Catch When .T.
    Endtry
    Release loHandler
    loHandler = .Null.
Return (luResult)

Saludos

Ze


El jue, 26 de ago. de 2021 a la(s) 20:15, Ricardo Soldini (ricardo...@gmail.com) escribió:
Buenas amigos (as) Hay alguna manera de saber si un dll esta registrada desde fox?
Agradezco de antemano sus comentarios

--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/5e4f59bf-d744-4b80-81a6-8dd474b7b3ddn%40googlegroups.com.

Germán Fabricio Valdez

unread,
Aug 27, 2021, 12:08:01 AM8/27/21
to Comunidad de Visual Foxpro en Español
si queres registrar una DLL dentro de tu aplicacion vfp,  tiene que ser ejecutado como administrador.
y la idea es evitar ejecutar como administrador.

Oscar Quiros Coto

unread,
Aug 28, 2021, 10:25:27 AM8/28/21
to Comunidad de Visual Foxpro en Español
Esta es otra alternativa.
registrada=.T.
On Error registrada=.F.
oc=Createobject("sqldata.sqldata")
On Error
If !registrada
Aerror(capturaerror)
Messagebox("No registrada:"+capturaerror(2),0,'Error')
Endif
Reply all
Reply to author
Forward
0 new messages