用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧Delphi

Delphi中高级DLL的编写和调用(2)

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 20:02:32
{---------- DLL中的单元 Unit2.PAS ----------}

  unit Unit2;

  interface

  uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
   Db, ADODB, StdCtrls, Menus;

  type
   TForm1 = class(TForm)
   ADOConnection1: TADOConnection;{ 本地数据库连接 }
   Memo1: TMemo; { 用于显示信息 }
   private
   public
   end;

  { 该过程向外提供 }
  procedure DoTest(H: THandle; { 获得调用者的句柄 }
   AConn: TADOConnection;{ 获得调用者的数据库连接 }
   S: string; { 获得一些文本信息 }
   N: Integer); { 获得一些数值信息 }
   cdecl; { 指定调用协议 }

  implementation

  {$R *.DFM}

  procedure DoTest(H: THandle; AConn: TADOConnection; S: string; N: Integer);
  begin
   Application.Handle := H; { 将过程的句柄赋值为调用者的句柄 }
   { 上面语句的作用在于, DLL的句柄和调用者的句柄相同,在任务栏中就不会 }
   { 各自出现一个任务标题了。 }
   with TForm1.Create(Application) do try{ 创建窗体 }
   Memo1.Lines.Append(‘成功调用‘); { 显示一行信息 }
   ADOConnection1 := AConn; { 获得数据库连接的实例 }
   Memo1.Lines.Append(
   ADOConnection1.ConnectionString +
   ‘ - ‘ + S + ‘ - ‘ + IntToStr(N)); { 根据得到的参数显示另一行信息 }
   ShowModal; { 模式化显示窗体 }
   finally
   Free; { 调用结束时销毁窗口 }
   end;
  end;

  end.


  {---------- 调用者 Project1.DPR,很普通的工程文件 ----------}

  program Project1;

  uses

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:3,078.12500 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号