我想把我的一个delphi程序写成dll,dll里实现ado连接sql server。但是为什么一加入ado
控件就包错,raised EOleSysError with message '尚未CoInitialize?
哪为高手碰到过这种问题,请帮忙!大侠们!
我的dll
procedure ShowMyForm; stdcall;
procedure CloseMyForm; stdcall;
implementation
procedure ShowMyForm;
begin
Form1 := TForm1.Create(Application);
Form1.Show;
Form2 := TForm2.Create(Application);
Form2.Show;
end;procedure CloseMyForm;
begin
Form1.Close;
Form2.Close;
end;我的调用程序
procedure ShowMyForm; stdcall;external 'Project1.dll' Name 'ShowMyForm';
procedure CloseMyForm; stdcall;external 'Project1.dll' Name 'CloseMyForm';
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMyForm;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
CloseMyForm;
end;
控件就包错,raised EOleSysError with message '尚未CoInitialize?
哪为高手碰到过这种问题,请帮忙!大侠们!
我的dll
procedure ShowMyForm; stdcall;
procedure CloseMyForm; stdcall;
implementation
procedure ShowMyForm;
begin
Form1 := TForm1.Create(Application);
Form1.Show;
Form2 := TForm2.Create(Application);
Form2.Show;
end;procedure CloseMyForm;
begin
Form1.Close;
Form2.Close;
end;我的调用程序
procedure ShowMyForm; stdcall;external 'Project1.dll' Name 'ShowMyForm';
procedure CloseMyForm; stdcall;external 'Project1.dll' Name 'CloseMyForm';
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMyForm;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
CloseMyForm;
end;
解决方案 »
- 散分---你有多久没有使用过Delphi了。
- 在Delphi里如何动态创建Access视图
- QuickBurro中间件 V3.01版本发布
- Delphi 道馆2群:25911444(可容纳500人)欢迎各路DELPHI人士加入~~~~~
- 谁可以解决问题,我给1万
- 搜索TreeView?
- 在服务器端如何判断VisiBroker是是否启动?在客户端如何判断服务器已经运行?
- 怎么在treeview中改变图标
- dbExpress连接sql server2000,把datasource和tdbgrid关联时老是说什么"此项操作不能应用在单向的数据集"。。。
- ??
- 我在dxDBGrid中設置了某一列......
- 如何判断软驱内有无磁盘?
CoInitialize(nil);
即可。同时注意DLL中窗口的使用,使用窗口时应该把可执行程序的HINSTANCE传个窗体,关闭窗体的时候在赋回来。