
至于他们给你的DLL,基本上能断定那个是CLR写的DLL。就我理解,CLR应该和MFC是完全不一样的,无论是语言的语法,或者是从CLR、MFC的基础架构方面,都没有交集!因此可以将CLR理解为一门全新的语言,它使用的库是.net 库。楼主肯定有 MFC 基础的。如果楼主研究过C#的话,那CLR应该是很容易上手的。从亲缘性方面来讲,CLR项目和C#项目更相似。它们的DLL只需要在使用DLL的项目中,通过楼主所言的“引用”方式添加进来就OK了。没有LIB的区别。它的实现机制是:所有DLL/EXE在文件内部都会有一个清单,该清单记录了DLL/EXE自己实现的类,函数以及它引用别人的类、函数和这些文件名等一系列信息。
至于有人提出是COM的关系,我认为这个问题应该和COM没有一点关系。所以如果要从COM入手,完全是一条死胡同。会浪费时间的!
虽然VC支持MFC和CLR混编,但如果要混编,我感觉系统不稳定,一方面我担心兼容性的问题导致程序的稳定性问题。另一方面,既要熟悉MFC,又要熟悉CLR,否则混编很困难。我认为,既然要用别人的CLR DLL,那么最好还是别用MFC,直接做CLR。楼主不熟悉CLR,那么只有学。尽管需要赶工期,但我也想不出好办法。做CLR项目是我认为最好的出路!
资源ID 一般在resource.h 中定义, 这个ID是为了方便记忆和书写的一个宏定义,该ID实际指向一个数值,该数值代表的是资源中的对象的关联项。也可以说这个数值就代表资源中对应的对象。资源ID一般会和RC 脚本关联在一起使用, 具体作用会和不同的资源类型不同,有所不同。 比如是位图对象的资源ID,那么你可以通过该ID获取到位图的实际数据或相应的流信息。 如果是菜单对象,那么其ID对应的就是,菜单相关的内容,可以通过该ID来加载菜单,同时调用方相应的WM_COMMAND消息值也与该ID进行匹配。 等等
至于字符串资源ID的作用很简单, 就是利用一个数字指向资源中的一个实际字符串。 其应用最多的情况可能就是多语言的项目中, 可以为不同的语言定义不同的字串,既不需要修改代码,直接替换资源就能实现多语种应用的实现。
命令行下得先设置目录,然后将import "D:\Program Files\Microsoft Visual Studio\VC98\Include\oaidl.idl"//导入必要的idl文件
import "D:\Program Files\Microsoft Visual Studio\VC98\Include\ocidl.idl"
改成
import "ocidl.idl"
import "oaidl.idl"//导入必要的idl文件
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)