Estava testando uma dica de uso de dll e deu tudo certo.
Na dica os parâmetros eram todos inteiros e tratavam de uma chamada a uma função para verificar uma senha.
Resolvi modificar a função da dll para que a senha fosse alfanumérica.
Foi aí que a mensagem de erro apareceu.
Vejam se vocês podem me ajudar.
Na dll tenho o seguinte
library SENHA;
uses
SysUtils,
Classes;
function Chave(Pkey : String): String; export; // Criando a função
begin
PKey := 'pn012345'; //Nossa senha de exemplo
Chave := Pkey;
end;
exports
Chave;
{$R *.res}
begin
end.
No form que fará a chamada a dll(Senha.dll, que se encontra no local certo, ou seja, no mesmo diretório do programa), tenho um Edit e button.
O usuário digita a senha(alfanumérica) e clica no button.
Vejam o código completo da unit do form...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
Function Chave(Pkey : String):String; external 'SENHA.dll';
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
N, C : String;
begin
N := Edit1.Text;
C := Chave(Edit1.Text);
if N = C then
ShowMessage('Senha válida!')
else
ShowMessage('Senha inválida!');
end;
end.
O que está acontecendo...
digito a senha correta pn012345, clico no button a mensagem aparece, ou seja,
'Senha válida! e depois que clico no ok do showmwssage aparece a mensagem de erro
INVALID POINT OPERATION
Como havia mencionado caso faça a adaptação para que a senha seja do tipo integer aí não aparece a mensagem de erro.
Pergunta
Paulo Nobre
Estava testando uma dica de uso de dll e deu tudo certo.
Na dica os parâmetros eram todos inteiros e tratavam de uma chamada a uma função para verificar uma senha.
Resolvi modificar a função da dll para que a senha fosse alfanumérica.
Foi aí que a mensagem de erro apareceu.
Vejam se vocês podem me ajudar.
Na dll tenho o seguinte
No form que fará a chamada a dll(Senha.dll, que se encontra no local certo, ou seja, no mesmo diretório do programa), tenho um Edit e button. O usuário digita a senha(alfanumérica) e clica no button. Vejam o código completo da unit do form...O que está acontecendo...
digito a senha correta pn012345, clico no button a mensagem aparece, ou seja,
'Senha válida! e depois que clico no ok do showmwssage aparece a mensagem de erro
INVALID POINT OPERATION
Como havia mencionado caso faça a adaptação para que a senha seja do tipo integer aí não aparece a mensagem de erro.
Alguém pode ajudar?
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.