![]() |
|
|
#1
|
|||
|
|||
|
помогите с dll.
код формы Код:
implementation
function SUM(n,m: integer): integer; stdcall;
external 'Project2.dll' name 'SUM';
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var a,b,res: integer;
begin
a:=strtoint(Edit1.Text);
b:=strtoint(Edit2.Text);
res:=SUM(a,b);
Label1.Caption:=PChar(inttostr(res));
end;код DLL Код:
uses
SysUtils,
Classes;
{$R *.res}
function SUM (var n, m: integer): integer; stdcall;
begin
result:=n+m;
end;
exports SUM;
begin
end.Вложение 1740 |
|
#2
|
|||
|
|||
|
У тебя сигнатуры функций разные. Думаю, дело в этом.
Вот это работает: Код:
library mydll; function SUM (n, m: integer): integer; stdcall; begin result:=n+m; end; exports SUM name 'SUM'; begin end. Код:
program test;
{$APPTYPE CONSOLE}
function SUM(n,m: integer): integer; stdcall; external 'mydll.dll';
begin
WriteLn(sum(2,3));
ReadLn;
end. |
|
#3
|
|||
|
|||
|
мне на форму обязательно надо.
там если число любое возвращешь прога работает а если переменную то никак. Я в интренете посмотрел и по книгам код такой же |
|
#4
|
||||
|
||||
|
Цитата:
![]() |
|
#5
|
|||
|
|||
|
огромное спасибо
|