Fórum Help !!! DLL no D7 #150023
26/03/2003
0
Tenho a seguinte DLL:
library Exemplo;
uses
SysUtils,
Classes;
function AreaQuadrado (Lado : Integer) : Integer; stdcall; export;
begin
Result := Lado * Lado;
end;
exports
AreaQuadrado index 1;
begin
end.
E o projeto:
unit ufrmDll;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TfrmQuadrado = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
frmQuadrado: TfrmQuadrado;
implementation
function AreaQuadrado(Lado : Integer) : string; external ´exemplo.dll´;
{$R *.dfm}
procedure TfrmQuadrado.Button1Click(Sender: TObject);
begin
showmessage(AreaQuadrado(2));
end;
end.
Alem de nao funcionar manda essa mensagem de erro:
´Project c:\__dll\pDLL.exe faulted with message: ´access violation at 0x00403e5e: write of address
0x0045212d´. Process Stopped. Use Step or Run to continue.
Desde já agradeço :
:lol:
library Exemplo;
uses
SysUtils,
Classes;
function AreaQuadrado (Lado : Integer) : Integer; stdcall; export;
begin
Result := Lado * Lado;
end;
exports
AreaQuadrado index 1;
begin
end.
E o projeto:
unit ufrmDll;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TfrmQuadrado = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
frmQuadrado: TfrmQuadrado;
implementation
function AreaQuadrado(Lado : Integer) : string; external ´exemplo.dll´;
{$R *.dfm}
procedure TfrmQuadrado.Button1Click(Sender: TObject);
begin
showmessage(AreaQuadrado(2));
end;
end.
Alem de nao funcionar manda essa mensagem de erro:
´Project c:\__dll\pDLL.exe faulted with message: ´access violation at 0x00403e5e: write of address
0x0045212d´. Process Stopped. Use Step or Run to continue.
Desde já agradeço :
:lol:
Cleniogb
Curtir tópico
+ 0
Responder
Posts
26/03/2003
Cleniogb
Ai galera eu corrigi a linha
function AreaQuadrado(Lado : Integer) : string; external ´exemplo.dll´;
eu me esqueci de corrigir antes, falllouuuuu...
function AreaQuadrado(Lado : Integer) : string; external ´exemplo.dll´;
eu me esqueci de corrigir antes, falllouuuuu...
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)