Hola DISIMULA
No se si me equivoco, pero veo algunas diferencias de sintaxis, podrian ser el problema, no se, pruebalo asi:
Código Delphi
[-]
Procedure ConectarAdo(ADOConnection1: TADOConnection; Nombre: String); stdcall; export;
Begin
ADOConnection1.Connected:=False;
ADOConnection1.ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source='+ExtractFilePath(Application.ExeName)+Nombre+';'+
'Persist Security Info=False';
Try ADOConnection1.Connected:=True
Except
Begin
Showmessage('No ha sido posible realizar la conexion');
end;
end;
end;
exports ConectarAdo
y este otro:
Código Delphi
[-]
var
Form1: TForm1;
Procedure ConectarAdo(ADOConnection1: TADOConnection; Nombre: String); external 'info.dll';
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
ConectarAdo(ADOConnection1,'Ejemplo.mdb');
end;
y si tiene clave la base de datos, por ejemplo: Clave admin
Código Delphi
[-]
Procedure ConectarAdo(ADOConnection1: TADOConnection; Nombre: String); stdcall; export;
Begin
ADOConnection1.Connected:=False;
ADOConnection1.ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source='+ExtractFilePath(Application.ExeName)+Nombre+';'+
'Persist Security Info=False;'+
'Jet OLEDB: Database Password=admin';
Try ADOConnection1.Connected:=True
Except
Begin
Showmessage('No ha sido posible realizar la conexion');
end;
end;
end;
exports ConectarAdo
Tal vez ayude en algo, aunque prefiero un archivo ini al que pueda cambiar la direccion de la base de datos, con un dll, queda solo en un sitio, ademas de tener que distribuir el dll, con el programa, bueno, es una opinion nada mas.
Saludos