我想用一个有窗体的DLL完成数据查询的任务,谁有这方面的例子,请给我一个!不胜感谢!
解决方案 »
- 为什么在MDI窗体中设置子窗体的Enabled属性就会报错呢?谢谢了,在线等着...
- ADOConnection使用DSN连接时,ADOStoredProc报“[ODBC SQL Server Driver]没有执行可选特性”??????
- 中间层为Com,为何远程不能连接
- 关于安装delphi5的问题
- 怎么才能在程序中实现创建新的窗体呢,需要注意什么呢?敬请高手帮助指点!
- 收购 D5 编程人员指南
- 中型企业进销存,涉及32台以上工作站,每年生成数据约100MB,用Delphi,加SQL Server还是Oracle?
- 用QUICKREP打印时怎么能动态设置打印行数!!!!
- 串口数据接收时延问题
- “我怎么也想不通”-------耐心的高人请进
- 如何在程序一开始改变屏幕分率为 800*600 32真彩色
- 关于Tstringgrid的问题[悬赏100分]
动态库代码如下:
library MyForms;uses
SysUtils,Classes,Forms,
DLLForm in 'DLLForm.pas' {FormDLL};function ShowForm:Integer;stdcall;
var
FormDll:TFormDLL;
begin
FormDll:=TFormDll.Create(Application);
Result:=FormDll.showmodal;
FormDll.Free;
end;
exports
ShowForm;
{$R *.res}begin
end.
动态库中的窗体上主要有ADOConnection1,ADOQuery1,DataSource1,DBGrid1,BitBtn1,BitBtn2等控件;窗体代码如下:
unit DLLForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, DB, ADODB, Grids, DBGrids, ActiveX,
DBClient, MConnect, SConnect, DBTables;type
TFormDLL = class(TForm)
Panel1: TPanel;
BitBtn1: TBitBtn;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
BitBtn2: TBitBtn;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
FormDLL: TFormDLL;
implementation
{$R *.dfm}
procedure TFormDLL.BitBtn1Click(Sender: TObject);
begin
Close;
end;procedure TFormDLL.BitBtn2Click(Sender: TObject);
begin
FormDLL.ADOQuery1.Active:=False;
FormDLL.ADOQuery1.SQL.Clear;
FormDLL.ADOQuery1.SQL.Add('select * from test');
FormDLL.ADOQuery1.Open;
end;
initialization
CoInitialize(nil);
finalization
CoUnInitialize;
end.
在应用程序中调用该DLL,应用程序代码如下:
unit UseDLL;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ADODB,ActiveX, DB;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
function ShowForm:Integer;stdcall;
external'myforms.dll';
implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
ShowForm;//调用动态库myforms.dll中的函数
end;end.