Ver Mensaje Individual
  #5  
Antiguo 11-04-2008
Avatar de Black_Ocean
Black_Ocean Black_Ocean is offline
Miembro
 
Registrado: nov 2006
Posts: 128
Reputación: 18
Black_Ocean Va por buen camino
Registrar una librería significa digamos "agregar" una DLL, OCX, etc en la carpeta de linkeo del sistema y, a la vez, agregar unas claves en el registro para que Windows pueda linkearla (o enlazarla) en la carpeta y al/los programas cuando sean llamadas/cargadas (LoadLibrary). Cuando una librería es llamada por un programa, Windows se encarga automáticamente de buscar la existencia de esta en el directorio de la aplicación y/o en las carpetas de linkeo de librerías dinámicas REGISTRADAS en el sistema. También así mismo, estarás compartiendo la librería para que otras aplicaciones puedab utilizar la librería (en el caso que se pueda). Además, este linkeo se hace también porque sistemas operativos antiguos sólo soportan DLL y OCX que estén linkeados en el directorio de System y System32 respectivamente.

Por otro lado, procura ponerle un nombre de archivo poco común, ya que si inicias una carga de una librería que tiene el mismo nombre de archivo que otra ya existente en ejecución en el sistema generará una excepción de ejecución (a esto se le llama DLL hell), te recomiendo que le pongas un nombre poco común al nombre del fichero OCX para que no te genere este conflicto cuando sea cargada.

Esta tarea la puedes hacer con tan sólo ejecutar el comando REGSVR32, que gracias a la API ShellExecute de Windows, puedes hacerlo así:

EJ:

Código Delphi [-]
uses
  ShellAPI;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(Handle, 'Open', PChar('regsvr32.exe'), PChar('C:\Windows\System32\Hwinterface.ocx'), nil, SW_SHOWNORMAL);
end;

u ocupando el siguiente Tips de Trucomanía

Saludos y espero que te sea de utilidad

Última edición por Black_Ocean fecha: 12-04-2008 a las 00:06:16.
Responder Con Cita