delphi 开发扩展(二)

library plug_in;

uses
  SysUtils,
  Classes,
  Unit3 in 'H:\test\Unit3.pas' {Form3};

exports GetForm,GetName;

{$R *.res}

begin
end. 

 

 

{要加载的窗体}

unit Unit3;


interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,ADODB, DB, Grids, DBGrids;

type
  TForm3 = class(TForm)
    Button1: TButton;
    ADOQuery1: TADOQuery;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form3: TForm3;
  ADO: TADOConnection;

  function GetName:string;StdCall;
  function GetForm(AHandle:THandle;adoconn:TADOConnection;ACaption:String):BOOL;StdCall;


implementation

{$R *.dfm}

function GetName:string;
begin
  result:='my dll';
end;

function GetForm(AHandle:THandle;adoconn:TADOConnection;ACaption:String):BOOL;
  var
    ShowForm:TForm3;
  begin
    Application.Handle:=AHandle;
    ADO:= adoconn;
    ShowForm :=TForm3.Create(Application);
    try
        if ACaption<>'' then
        ShowForm.Caption:=ACaption;
        ShowForm.ShowModal;
        Result:=False;
    finally  
        ShowForm.Free;
    end;  
  end;

procedure TForm3.Button1Click(Sender: TObject);
begin
  self.ADOQuery1.Connection:=ADO;
  with  self.ADOQuery1 do
  begin
     Connection:=ADO;
     close;
     SQL.Clear;
     SQL.Add('select top 1 * from master');
     open;
  end;
end;

end.
posted @ 2009-11-03 11:44  azhai  阅读(206)  评论(0编辑  收藏  举报