Нарушение доступа при вызове функции DLL - PullRequest
0 голосов
/ 09 мая 2018

У меня есть следующая функция в DLL:

function PedirContraseña() : string;
var
clave, claveCodificada : string;
begin


clave := InputBox('Autenticación', 'Introduzca la clave de acceso', '');
claveCodificada := SHA256Hash(clave);
Result := claveCodificada;

end;

exports PedirContraseña;

Он запрашивает пароль у пользователя, затем применяет хэш SHA256 и возвращает результат этого хэша.

На основное приложение у меня следующий вызов:

function PedirContraseña() : string; external 'seguridad.dll';



procedure Tmenubodega.BitBtn1Click(Sender: TObject);
var
  s : string;
begin
  inherited;
    s := PedirContraseña;
    ShowMessage(s);
end;
  • При первом нажатии на кнопку все работает нормально.
  • Второй раз это все еще работает.
  • С этого момента каждые 2 клика будут отображаться исключения нарушения прав доступа в dll (1 раз, нет, в следующий раз, в следующий раз нет ...)

Я в замешательстве. Что я могу сделать?

Спасибо заранее

...