摘要:
准备:(1)、引入ado类 #import "c:\program files\common files\system\ado\msado15.dll" \no_namespace \rename ("eof", "adoeof")(2)、初始化com在mfc中可以用afxoleinit();非mfc环境中用: coinitialize......
摘要:
学习vc++时经常会遇到链接错误lnk2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其lnk2001错误,常常使人不明其所以然。如果不深入地学习和理解vc++,要想改正连接错误lnk2001非常困难。 初学者在学习vc++的过程中,遇到的lnk2001错误的错误消息主要为: unresolved ......
[原创] 组件的自动注册与卸载
1.对于进程内组件,可以利用windows系统提供的regsrv32.exe. 比如运行:regsrv32 d:\com.dll (regsrv32运行时调用com.dll的引出函数dllr egisterserver,真正注册的是在dllregisterserver中实现) 如果要反注册,可以用:regsrv32 /u d:\com.dll(此时调用dllunregsrvserver函数)2.对于进程外组件,因为它是可执行文件,不能也没有必要提供引出函数供其他程序调用来实现注册. com规范规定,支持自注册的进程外组件必须支持两个命令参数/regserver与/unregserver,来实现注册与反注册操作.3.实现自动卸载 组件对象被卸载的条件:1,组件中对象数为0 2,类厂锁计数器为0. com中提供了一个函数cofreealllibraries,它能检测当前进程中所有组件程序,当发现某个满足条件时,就调用 freelibrary卸载组件
摘要:
[注:转载请注明出初]首先可以把固定的码表单独的放到一个头文件里面,比如crctable里,然后把下面的码表拷贝进去:unsigned long crc32table[256] = { 0x00000000l, 0x77073096l, 0xee0e612cl, 0x990951bal, 0x076dc419l, 0x706af48fl, 0xe963a535l, 0x9e6495a3l, 0x......