PDA

Ver la Versión Completa : Registrar Dll


comba
02-02-2007, 13:51:37
Hola a todos.

Tengo una aplicacion realizada en Delphi 6. Me han encomendado tener que enviar sms através de esta aplicación. Contacto con el proveedor Arsys que me proporciona unas librerias. Las cuales tengo que registrar con regsvr32
para que funcione en cualquiere equipo.

Mi pregunta ¿Es necesario registrar estas librerias?
O que puedo hacer para indicarle a mi programa donde están las librerias necesarias.

Un saludo

Neftali [Germán.Estévez]
02-02-2007, 14:27:46
Para asegurarte de que funcionen en cualquier ordenador debes registrarlas, pero eso puedes hacerlo desde el mismo programa llamando al programa regsvr32.

Bicho
02-02-2007, 21:35:36
Puedes usar un instalador a tu programa como por ejemplo InnoSetup (http://www.jrsoftware.org/isinfo.php) (si buscas por ese nombre por aquí seguro que encontrarás toda la ayuda que necesites).
Con él instalas tú programa en el cliente, con todas las librerías y el se encargará de registrarlas.

Tambien puedes instalarlas tú desde tú programa:


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, ComCtrls, Registry;

type
TForm1 = class(TForm)
Panel1: TPanel;
btnRegistrar: TSpeedButton;
Memo1: TMemo;
procedure btnRegistrarClick(Sender: TObject);
procedure Aadir1Click(Sender: TObject);
procedure Borrar1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnRegistrarClick(Sender: TObject);
type TDLLRegisterServer = function: HResult stdcall;
var HLib : THandle;
Registrar : TDllRegisterServer;
x : Integer;
aLib : String;
begin
for x := 0 to chkLibs.Items.Count - 1 do begin
try
try
aLib := 'c:\DirectorioDondeEstanLasDLLS' + chkLibs.Items.strings[x];
HLib := LoadLibrary(PChar(aLib));
{Hallamos la direccion de la funcion para registrar el OCX}
Registrar:= GetProcAddress(HLib, 'DllRegisterServer');
if Registrar <> 0 then ShowMessage('Error al copiar o al registrar la libreria: ' + aLib);
except
ShowMessage('Se produjo un error desconocido durante el proceso');
end;
finally
FreeLibrary(HLib);
end;
end;
end;
end;


Lo que no entiendo es esto:

O que puedo hacer para indicarle a mi programa donde están las librerias necesarias.

Dónde están, ¿cuándo?, ¿al ejecutar el programa o escribir su código para usar sus funciones?

Saludos

jordillussa
05-04-2007, 13:31:35
Hola Comba. Has contratado ya el paquete DLL SMS de ARsys? Te ha funcionado bien en Delphi? Podrías dejarnos aquí un ejemplo del código de llamada?

Gracias.
Jordi.

comba
17-04-2007, 18:53:51
Llevo contratados unos 2000 mensajes y ultimamente se están enviando unos 40 mensajes diarios.

Por ahora todo es perfecto.

Dejame que miré como lo hice y lo pongo. Aunque me acuerdo que me costo para dejarlo como yo creo que es la mejor forma.

:)