怎样为外部建立一个接口,把delphi函数,让其他程序调用

liyanchao 2005-04-20 02:53:47
想把自己编写一部分过程或者函数制作为dll,让外界程序调用,怎么做?
...全文
161 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Comer 2005-04-20
  • 打赏
  • 举报
回复
上边是DLL的代码,再给出调用的:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, SHDocVw,ExtCtrls, StdCtrls, OleServer;

type
TForm1 = class(TForm)
Button1: TButton;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

TShowBSForm = function(Ahandle:Thandle;URL:PChar):integer;stdcall;

var
Form1: TForm1;
HInst1:THandle;
FPointer1:TFarProc;

implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
HInst1:=LoadLibrary('..\Project1.dll');
if HInst1=0 then
begin
Application.MessageBox('没有找到程序运行所需要的动态链接库,程序启动失败','提示',MB_OK OR MB_ICONINFORMATION);
Application.Terminate;
end;

FPointer1:=GetProcAddress(HInst1,'ShowBSForm');
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FreeLibrary(HInst1);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
TShowBSForm(FPointer1)(Application.Handle,PChar('http://127.0.0.1/FromCS.ASP?Req=123456789'));
end;

end.
Comer 2005-04-20
  • 打赏
  • 举报
回复
给个简单的代码,你参考一下吧:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, SHDocVw,
ExtCtrls;

type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
URL:String;
implementation

{$R *.dfm}

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
WebBrowser1.Navigate(URL);
end;

end.
ten_years_ago 2005-04-20
  • 打赏
  • 举报
回复
通过WINDOWS的消息机制,很容易实现的.
cdsgajxlp 2005-04-20
  • 打赏
  • 举报
回复
本网站
点搜索->输入Dll->搜索
liyanchao 2005-04-20
  • 打赏
  • 举报
回复
那位大哥有这方面的例子阿,我对这方面不懂
网站什么也不是
ly_liuyang 2005-04-20
  • 打赏
  • 举报
回复
做DLL

用New一个DLL项目就OK

看书去

http://lysoft.7u7.net

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧