Fórum Problema na dll - Invalid Pointer Operation #326926
07/08/2006
0
comecei desenvolver um aplicativo, mais gostaria q as funçoes do mesmo ficassem dentro de uma dll.
Criei o soft e a dll, compilou tudo certinho, mais quando chama no soft a função que está na dll aparece o resultado da função e após o resultado aparece uma mensagem de erro:
´Invalid Pointer Operation´
Vou Colar abaixo o fonte da dll e da Unit Para Q Vcs Vejam e me digam c estou errando em alguma coisa.
Código da DLL:
library Funcoes;
uses
SysUtils,
Classes,
Registry;
{$R *.res}
Function Crypt(Texto : String) : String;
Var
Chave: Word;
I : Integer;
OutValue : String;
Begin
OutValue := ´´;
Chave := 12;
For I := 1 to Length(Texto) Do
OutValue := OutValue + char(Not(ord(Texto[I])-Chave));
Result := OutValue;
End;
Exports Crypt;
begin
end.
=====================
Código da Unit
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Function Crypt(Texto : String) : String; StdCall; External ´Funcoes.dll´;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := Crypt(Edit1.Text);
end;
end.
==================
Desde Já Agradeço.
Buffering
Curtir tópico
+ 0Post mais votado
07/08/2006
Você precisa incluir a unit ShareMem no DPR do seu executável [b:9734d9451e]e do DPR da DLL[/b:9734d9451e].
Além disso, essa unit deve ser a [b:9734d9451e]primeira[/b:9734d9451e] unit na lista de uses do DPR.
Massuda
Gostei + 1
Mais Posts
07/08/2006
Massuda
Dê uma olhada no arquivo DPR da sua DLL e você verá um aviso sobre o uso de ShareMem e uso de parâmetros do tipo string nas functions/procedures da DLL.
Adicionalmente, além da sua DLL, você terá que incluir na instalação do seu programa a DLL BorlandMM.DLL.
Gostei + 0
07/08/2006
Buffering
Runtime Error 217 at 004138A1
Execeção, Execeção de software desconhecida (0x0eedfade) em 0x7c81eb33.
eu clico pra fechar a primeira dae aparece essa segunda quando eu fecho a segunda mensagem de erro aparece a primeira denovo assim interminantemente até eu echar o programa pelo gerenciador de tarefas pode me explicar o q seja ??
Gostei + 0
07/08/2006
Buffering
vlw !!!!!!!!!!!!!
Gostei + 0
08/08/2006
Siam
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)