DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: DExWtSbs
今日帖子: 55
在线用户: 13
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
女 yclll2003 (li) ★☆☆☆☆ -
普通会员
2004/2/4 14:37:51
标题:
如何在delphi中调用带ADO控件的DLL(用delphi编写的)函数 浏览:2941
加入我的收藏
楼主:    我在Delphi6下做了一个带窗体的动态连接库,窗体上有几个ADO的 控件,已通过编译,但在Delphi6下的一个EXE文件中调用它时,出现错误提示为:“Project po1.exe raised exception class EoleSysError with message ‘尚未调用 CoInitialize ’”。
   我在网上找到了一点资料,要将CoInitialize函数的调用加到DLL单元的initialization部分,将CoUninitialize函数加到了DLL单元的finalization部分,但我不知道DLL单元的initialization部分和finalization部分在哪一个位置,以及如何声明这两个函数(CoInitialize、CoUninitialize)?请帮我解决一下,发到我的邮箱里。
  Email : yclll2003@yahoo.com.cn    谢谢!!

----------------------------------------------
-
作者:
男 whhuzq (whhuzq) ★☆☆☆☆ -
盒子活跃会员
2004/2/4 14:44:24
1楼: 原则上是不行的.

----------------------------------------------
-
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/2/4 16:24:53
2楼: initialization/finalization放在.pas最后的end.之前

Unit TestUnit;

interface

..................

initialization
  //这里写代码,就象在一个函数中一样
  CoInitialize;
finalization
  CoUninitialize;
end.

要注意的是finalization不能单独出现,一定要在initialization后面
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
女 yclll2003 (li) ★☆☆☆☆ -
普通会员
2004/2/6 9:50:06
3楼:    谢谢 NAILY Soft!
   我已试过,把 
initialization
  //这里写代码,就象在一个函数中一样
  CoInitialize;
finalization
  CoUninitialize;  
   加在创建dll的 Unit单元中, 
但编译动态链接库时,提示未定义这两个函数,
   Error (62) : Undeclared indentifier;'CoInitialize'
   Error (64) : Undeclared indentifier;'CoUnInitialize'
 是否需要在Uses 这里 加上一些声明??

----------------------------------------------
-
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/2/6 10:11:48
4楼: 声明了吗?
可能你把函数在在别的单元了
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
女 yclll2003 (li) ★☆☆☆☆ -
普通会员
2004/2/6 10:17:48
5楼:   如何声明?
----------------------------------------------
-
作者:
男 axsoft (axsoft) ★☆☆☆☆ -
盒子活跃会员
2004/2/6 11:35:22
6楼: 包含ActiveX单元。
你也可以就在dll Project单元做一次 CoInitialize 调用,别的就不关了。
----------------------------------------------
-
作者:
女 yclll2003 (li) ★☆☆☆☆ -
普通会员
2004/2/6 13:50:28
7楼:   感谢大家的帮助,加上Activex单元后,程序就通过了,非常感谢作者axsoft(axsoft)。
----------------------------------------------
-
作者:
男 axsoft (axsoft) ★☆☆☆☆ -
盒子活跃会员
2004/2/6 14:50:16
8楼: 按此在新窗口浏览图片
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行62.5毫秒 RSS