Registrar componentes.

Iniciado por mdg, 18 Febrero 2008, 04:31 AM

0 Miembros y 1 Visitante están viendo este tema.

mdg

Buenas compañeros, nuevamente traigo una inquietud.

La cuestion es que tengo una aplicacion con vario ocx y lo que pretendo es que cada ves que abro la aplicacion verifique si dichos ocx se encuentran registrados y si no lo estan que lo haga en seguido de esto, es eso posible??, de antemano gracias.

cassiani

Ya lo había posteado antes...  :-\ ¡Bueno no importa!

Durante mucho tiempo lo hice de esta forma:
Option Explicit
Private Sub CmdRegistrar_Click()
    Open "Registra.bat" For Output As #1
            'Copiamos el control a system32
            Print #1, "copy " & Text1.Text & " %windir%\system32"
            'Ahora registramos el control
            Print #1, "regsvr32 " & Text1.Text
           'Borramos el bat
            Print #1, "del Registra.bat"
    Close #1
    'Ejecutamos el bat
    Shell ("Registra.bat"), vbHide
    Unload Me
End Sub

Private Sub Form_Load()
    Text1.Text = "marchoso.ocx"
End Sub


Eso suponiendo que nuestro OCX es el "marchoso.ocx" lo que hace es crear un bat que copia el control al directorio del sistema y luego lo registra,  el control deberá estar en el mismo directorio del exe, la única desventaja de esto es tener que cargar todo el tiempo con el control para instalarlo y registrarlo... claro, digo esto refiriéndome a cuando quered usar la aplicación con los ocx en otros ordenadores, aunque mejor seria que usaras programas que te permitan fusionar el exe con los ocx, mira este post: http://foro.elhacker.net/index.php/topic,193721.0.html

Decide y después me dices como te fue, ¡S4lu2!


pana88

jeje muy buena implementacion del comando regsvr32 + batch

cassiani

#3
Cita de: pana88 en 24 Febrero 2008, 18:33 PM
jeje muy buena implementacion del comando regsvr32 + batch

  :rolleyes: :rolleyes: :rolleyes:

Mr. Crowley

Si el OCX que se desea registrar esta ubicado en el mismo
directorio que su aplicacion, podria usted utilizar el siguiente
codigo para realizar el registro:


Private Sub Command1_Click()
  Dim strOCX As String
    strOCX = App.Path
    If Not Right(strOCX, 1) = "\" Then strOCX = strOCX & "\"
    strOCX = strOCX & "mswinsck.ocx"
    MsgBox strOCX
    Shell "regsvr32 -s  " & strOCX
End Sub


Se utiliza el flag -s para que regsvr32 no muestre ningun mensaje.
En este caso se registraria el componente mswinsck.ocx
Mi blog personal: www.calirojas.com