|
#1
|
|||
|
|||
проблема с dll
помогите с 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
|
|||
|
|||
огромное спасибо
|