关于动态链接库的问题!
q1.pas中的代码:
unit q1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
h:Thandle;
m:procedure;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
h:=loadlibrary('ject1.dll');
m:=getprocaddress(h,'ride');
m;
freelibrary(h);
end;
end.
******************
ject1.dll中的代码:
library ject1;
uses
SysUtils,
Classes,
q1 in 'q1.pas'{form1};
{$R *.res}
procedure ride;
begin
form1.Label1.Caption:=inttostr(strtoint(
form1.Edit1.Text)*strtoint(form1.Edit2
.Text));
end;
exports
ride;
begin
end.
运行效果如下:
当在两个文本框中输入整数之后,点按钮,DLL中的过程会将计算结果传递到label1.caption.可调试中出错。