CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

在DLL窗体中如何运用ADO组件

楼主snowzhong(枫)2005-09-01 16:39:50 在 Delphi / VCL组件开发及应用 提问

急,在DLL窗体中如何用ADO组件,我每次一到调用这DLL窗体时就出错(含ADO组件,如无ADO则不出错) 问题点数:20、回复次数:10Top

1 楼windlin623(黄生)回复于 2005-09-07 11:40:19 得分 0

学习一下,我做了几个也有些问题  
  楼主是不是用bpl+dll做的?Top

2 楼sdzeng(大头鸟)回复于 2005-09-07 11:48:45 得分 0

什么错,说清楚些Top

3 楼snowzhong(枫)回复于 2005-09-09 13:01:03 得分 0

sdfasafsaTop

4 楼xiaomatian(趴趴熊◎%#……※×)回复于 2005-09-11 15:15:18 得分 5

#include   "objbase.h"  
  int   WINAPI   DllEntryPoint(HINSTANCE   hinst,   unsigned   long   reason,   void*   lpReserved)  
  {  
                  //return   1;  
                  switch(reason)  
                {  
                                  case   DLL_PROCESS_ATTACH:  
                                                  CoInitialize(NULL);  
                                                  break;  
                                  case   DLL_PROCESS_DETACH:  
                                                  CoUninitialize();  
                                                  break;  
                                  case   DLL_THREAD_ATTACH:  
                                                  break;  
                                  case   DLL_THREAD_DETACH:  
                                                  break;  
                  }  
                  return   1;  
  }  
  这样就可以使用了Top

5 楼snowzhong(枫)回复于 2005-09-12 08:59:19 得分 0

我试下先Top

6 楼ss__328(潇潇)回复于 2005-09-12 09:11:48 得分 5

CoInitialize;  
  //*****使用ADO***********  
  CoUninitialize;Top

7 楼yifei1900(逸飞)回复于 2005-09-12 09:48:57 得分 5

在线程中使用ADO时,需要  
  CoInitialize;  
  //*****使用ADO***********  
  CoUninitialize;  
  都在ActiveX单元中,  
  不过,在DLL中应该不需要这样做吧,  
  你需要包含所用的ADO控件的所有的单元。Top

8 楼xiaochensu(拒绝水的鱼)回复于 2005-09-12 09:56:05 得分 5

在DataModule中加入如下代码:  
  initialization  
      CoInitialize(nil);  
   
  finalization  
      CoUninitialize();  
  然后就可以使用ADO了。Top

9 楼snowzhong(枫)回复于 2005-09-12 11:12:04 得分 0

在DataModule中加入如下代码:  
  initialization  
      CoInitialize(nil);  
   
  finalization  
      CoUninitialize();  
  后还是出现尚未调用CoInitialize的错误Top

10 楼snowzhong(枫)回复于 2005-09-12 11:17:36 得分 0

搞定,在DataModule中加入如下代码:  
  initialization  
      CoInitialize(nil);  
   
  finalization  
      CoUninitialize();  
  可以实现,现在结帖,给分啦Top

相关问题

  • 如何把VB开发的 组件Active DLL中的窗体被另外一个组件调用时变为子MDI子窗体?
  • 求救 在DLL中包含ADO组件
  • Dll 窗体 与 Action
  • 如何写一个使用FastNet系列组件无窗体的DLL形式的文件服务!(欢迎讨论)
  • 服务器组件(DLL)中的窗体如何在客户机中显示.解决问题给100分
  • 请高手指点:DLL中创建一个带ADOConnection组件窗体,为什么出错?
  • 大白鲨:动态显示窗体时里面有ADO组件就回出现异常
  • dll中的窗体调用
  • dll子窗体问题
  • 问dll中显示窗体

关键词

  • 组件
  • ado
  • 代码
  • dll
  • 窗体
  • coinitialize
  • couninitialize
  • datamodule
  • 使用
  • nil

得分解答快速导航

  • 帖主:snowzhong
  • xiaomatian
  • ss__328
  • yifei1900
  • xiaochensu

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo