我想在dll中用RegisterClass()注册一个类,然后再宿主程序中GetClass()得到该类,但发觉总是返回空。但如果RegisterClass和GetClass都在一个工程中就能没问题,不知哪位有这方面的经验可以分享一下
解决方案 »
- IBExpert有没有象MSSQL的跟踪调试器一样的功能??
- 请问这样的主从表设置哪里错了?
- “大富翁论坛”上还没有人能解答的二道难道!!!
- 谁有delphi做的新闻网站维护软件?主要是编辑、生成html的代码?
- kyilx的webservice做apache应用服务器,客户端为delphi采用soapconection连接。
- 我是一个初学者请问:整型转字符型inttostr是DELPHI自带的的函数还是需要自定义的函数
- 如何判断一个Memo控件,如何断定其是否进行了编辑?也就是要不要保存
- 小问题,为什么增加不行呢?
- 同时打开多个EXCEL如何关闭
- cobi(我是小新,我只有5岁)请进! (50分给你)
- 关于installshield程序打包的问题?
- 一个比较简单问题,达人帮我呀.在线等
DLl,包括它的代码和数据都是独立的,绝对不会跟其他的动态库串在一起。但是,如果你把所有功能放到 一个EXE的工程里面,它的数据和代码就都是放到一起的,最后产生可执行程序的时候,就会互相干扰。而动态库就不会,这是由操作系统来保证的。
dll中RegGroups中含有你的相关类的注册信息
exe中的RegGroups中含有你的相关类的注册信息
exe的GetClass要去exe中的全局变量RegGroups找相关类的信息,你想,能找到吗?
begin
Result := GetClass(ClassName);
if Result = nil then ClassNotFound(ClassName);
end;
//FindClass调用的还是GetClass
只不过后面加了一个异常处理罢了