新手求教一个含窗体的DLL的例子。
自己想做个可以传出 参数 的DLL,百度里的都好复杂。请有空的老师帮忙做个最简单的DLL,并说说要怎么调用,万分感谢。
调用DLL时,出现一个窗体,按下窗体按钮就 传出 一个 参数,然后关闭窗体,并释放内存。 谢谢。 dll
[解决办法]
弄了例程,你照虎画猫吧
http://pan.baidu.com/share/link?shareid=366238&uk=2500077576
[解决办法]
看本例可以传入参数到Dll
http://pan.baidu.com/share/link?shareid=366373&uk=2500077576
[解决办法]
Dll的项目文件
library MyDll;
uses
SysUtils,
Classes,
Unit13 in 'Unit13.pas' {Form13};
{$R *.res}
function GetForm(const Tag : integer) : Integer;
begin
//TForm13中有一个TButton, ModalResult属性设为mrOk;
with TForm13.Create(nil) do
begin
Caption := Format('Tag:%d', [Tag]);
result := ShowModal;
free;
end;
end;
exports
GetForm;
begin
end.
//静态调用 Begin
function GetForm(const Tag : integer) : Integer; external 'MyDll.dll';
procedure TForm14.btn1Click(Sender: TObject);
var
n : integer;
begin
n := GetForm(1);
caption := Format('Result:%d', [n]);
end;
//静态调用 End
//动态调用 Begin
procedure TForm14.btn2Click(Sender: TObject);
type
TGetForm = function (const Tag : integer) : Integer; stdcall;
var
DllForm : TGetForm;
DllHandle : THandle;
n : integer;
begin
DllHandle := LoadLibrary(PChar('MyDll.dll'));
try
if DllHandle <> 0 then
begin
DllForm := GetProcAddress(DllHandle, 'GetForm');
n := DllForm(1);
caption := Format('Result:%d', [n]);
end;
finally
FreeLibrary(DllHandle);
end;
end;
//动态调用 End