Ver Mensaje Individual
  #1  
Antiguo 13-08-2018
Fita Fita is offline
Miembro
 
Registrado: jul 2003
Ubicación: Pilar - Argentina
Posts: 216
Reputación: 21
Fita Va por buen camino
Problemas con carga y descarga de una dll

Hola a todos.
Tengo un error de Access Violation que no puedo resolver. El error solo ocurre cuando se carga la dll.
Estoy haciendo algo mal?

Desde ya muchas gracias
Codigo de muestra:

Código Delphi [-]
procedure cierraliquidacion(sender: tobject);
var cCodbar: string; 
     hMod: Thandle;
    GenRapipago: function(nCodempresa: integer; nLegajo: integer; nNroFactura: integer; nVto1: currency; nVto2: currency;  cFecJul_1: string; cFecJul_2: string): string; stdcall;
begin
if Liq000Agente.value <> 0 then // si el agente es > a 0 genera el codigo de barras y cargo la dll
begin
       hMod := loadlibrary('fitasoft2.dll');
end;

if (Liq000Agente.Value = 1) or (Liq000Agente.Value = 3) then
begin
      GenRapiPago := GetProcaddress(hMod, 'GenRapiPago'); // genera codigo de barras, llamo la funcion
end;

Tabla.Open;

// aca hago un do while generando el codigo de barras para cada registro
while not Res041.of do
begin
       cCodbar := '';

       if (Liq000Agente.value = 1) then
       begin
       cCodbar := GenRapiPago(IBLiq000NroEmpAgente.Value, Res041Codfam.Value, nroCompte, Res041Totrecibo.AsCurrency, 
       Res041Totrecibo2.AsCurrency, strFecJul_1, strFecJul_2);
       end;

       Tabla.Edit;
       TablaCodbarra.value := cCodbar;
       Tabla.post;
       Res041.next;
end;

Tabla.close;
Res041.Close;
        
if Liq000Agente.Value > 0 then
begin
       freeLibrary( hMod );
end;

Liq000.close;
showmessage('Proceso terminado'); 
// luego de dar ok al mensaje da el error Acces Violation, solo los que usan el codbar

end; // el debug me marca esta linea
__________________
No te vayas sin irte
Responder Con Cita