知识大全 加载COM的方式
Posted 函数
篇首语:丈夫志四海,万里犹比邻。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 加载COM的方式相关的知识,希望对你有一定的参考价值。
加载COM的方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
通常我们都是使用CoCreateInstance或CoGetClassObject获得接口 再通过接口访问他的成员方法 在C++支持下 从来不会有任何问题 但是如果使用Win 模式 纯粹C风格编程 就会出现问题了
通过研究我发现其实上述访问方式本身就存在问题 标准的访问方式 如D D一样 接口的初始化必须在Com提供的API基础上完成 设计者需要提供一个API 像DLL的导出函数一样 供给外部程序调用
具体设计
下面是一个gdi扩展函数库gdiex GdiexCreate就是创建接口的一个函数 如同Direct DCreate 一样 调用这个函数可以立刻创建一个接口指针
在内部设计导出函数 如
HRESULT WINAPI GdiexCreate(LPVOID *lplpGdiex)HRESULT hr;ISaveDDCtl * pCtrl = NULL; hr = CoCreateInstance( CLSID_SaveDDCtl NULL CLSCTX_SERVER IID_ISaveDDCtl (void**) &pCtrl); if(FAILED(hr)) MessageBox(NULL GdiexCreate Failed! gdiexPS MB_OK|MB_ICONSTOP); return hr; *lplpGdiex = (LPVOID) pCtrl; return S_OK; 该函数可以放在主要cpp文件中
在导出的头文件(gdiex h)中作出声明
HRESULT WINAPI GdiexCreate(LPVOID *lplpGdiex)
只要不重新生成 这个头文件中都会包含该API
下来在gdiex def增加这个API名字 以便外部访问
EXPORTSDllCanUnloadNow PRIVATEDllGetClassObjectPRIVATEDllRegisterServerPRIVATEDllUnregisterServerPRIVATE GdiexCreate 调用的时候 只需要在工程中包含gdiex h 输入gdiex lib 就可以调用到这个API
cha138/Article/program/Delphi/201311/8447相关参考
这里延迟加载的意思是拖动滚动条时在图片出现在浏览器显示区域后才加载显示 大概的实现方式是在页面的load没有触发之前把所有的指定id的元素内的img放入到imgs中将所有的图片的src值
首先创建水晶报表rpt文件方法还是采用xsd数据集的方式简便容易操作记得将数据集中的相关字段设为你想要在报表中呈现的字段比如说在内容左边加入一个图片就将相应的图片字段拖放过去能不能直接在水晶报表上
Tomcat类加载机制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! TomcatServer在
Nvelocity实现动态加载例子 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 因为工作需要使
手机QQ无法加载图片,是怎么回事?就是和人聊天时的图片看不了,说“图片加载失败” 以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,
Tomcat加载servlet类文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 第一个 有
优化Javaapplets加载过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 大家知道在ja
知识大全 QQ空间的开心农场加载到93%就提示网络加载速度慢或中断是怎么回事
QQ空间的开心农场加载到93%就提示网络加载速度慢或中断是怎么回事?该怎么解决?谢谢 以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内
关于Java程序中类加载完全揭密 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 类加载是java
优化JavaApplet的加载过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 大家知道在ja