Librería CAPICOM

Me urge saber lo siguiente:
- Como cargar una librería en Delphi, en este caso la librería CAPICOM.DLL.
- Y como declararme objetos pertenecientes a esa librería.
He encontrado como cargar la librería y acceder a funciones o procedimientos, pero no a los objetos, estoy que me subo por las paredes.
Ejemplo de carga de librería y obtención de funciones:
procedure TForm1.btnReportClick(Sender: TObject);
var
LibHandle: THandle;
fDisplaySampleReport: procedure;
begin
LibHandle := LoadLibrary('Report.dll');
if LibHandle = 0 then
raise Exception.Create('Unable to Load DLL...')
else
begin
try
@fDisplaySampleReport := GetProcAddress(LibHandle, 'DisplaySampleReport');
if @fDisplaySampleReport <> nil then
fDisplaySampleReport; // Invoke the Procedure within the DLL
except
on E: Exception do
ShowMessage('Exception error: ' + E.Message);
end;
end;
FreeLibrary(LibHandle); // Free Memory Allocated for the DLL
end;
Como ves llama a una función y yo lo que quiero es acceder a los objetos.
Referencia sobre la librería CAPICOM: Trata el tema de las firmas digitales.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/seccrypto/security/cryptography_reference.asp
Si puede ser, te agradecería que me mandaras un ejemplo sencillo de como cargar la librería y definirte intancias de los objetos de esa librería.

1 respuesta

Respuesta
1
Bueno mira la forma en que cargas la librería esta bien aquí te envío otra para que tu decidas como cargarla quizá esta que te envío esta más sencilla:
unit Unit1;
Interface
Uses
Sharemem, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
function SetLoginPassw:Boolean; external 'C:\CreacionComponentes\LoginDll\Login.dll';
implementation
procedure TForm1.FormShow(Sender: TObject);
begin
if not SetLoginPassw then
Application.Terminate;
end;
Esta es una dll que yo mismo cree y tiene una función llamada SetLoginPassw, espero entiendas este ejemplo.
Ahora tu me dices que quieres ver los objetos de la librería que estas cargando pues yo te comento si la librería no tiene públicos los objetos que quieres ver pues jamas podrás accesar directamente a ellos si me explico lo malo es que no puedes saberlo a menos que tengas documentación sobre esa librería..
Hola GaunManuel, me he dado cuenta que no va a ser esta la mejor forma de hacerlo porque tendría que definirme muchas, muchas funciones ...
Al final he optado por convertir la librería por una unidad a la que hago referencia y así poder declararme instancias de las clases de la unidad. Muchas gracias por tu ayuda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas