我做了一个关于系统右键菜单的DLL,实现了类似金山毒霸的功能,不过只是用于一次拷贝多个文件夹或文件,与金山毒霸在系统右键菜单上的工作原理稍有不一样,他是点击了菜单后shell执行金山毒霸,而我设计是点击了选项后弹出自定义的保存文件对话表单,而且不是SHELL执行,所有代码(包括临时弹出的FORM)集中在了DLL里,问题就这样出现了:
1、在REGSVR32进行系统注册时出现一些“REGSVR32非法操作”的信息,但同样注册成功,而且使用相当正常(我设计的功能全部实现),反注册时也出现类似情况,但同样能成功的卸掉DLL实在搞不懂,我将自己的代码看了好几十遍也没发现致命的错误,希望哪位仁兄遇到过类似情况或能解决的帮我想一下原因。
2、我在DLL弹出的FORM中如果使用SHOWMESSAGE(),系统就会蹦溃(无论是W2000还是98),搞的我都不敢在这个程序里用SHOWMESSAGE()
3、编译过程中没有任何错误
1、在REGSVR32进行系统注册时出现一些“REGSVR32非法操作”的信息,但同样注册成功,而且使用相当正常(我设计的功能全部实现),反注册时也出现类似情况,但同样能成功的卸掉DLL实在搞不懂,我将自己的代码看了好几十遍也没发现致命的错误,希望哪位仁兄遇到过类似情况或能解决的帮我想一下原因。
2、我在DLL弹出的FORM中如果使用SHOWMESSAGE(),系统就会蹦溃(无论是W2000还是98),搞的我都不敢在这个程序里用SHOWMESSAGE()
3、编译过程中没有任何错误
解决方案 »
- Pos函数对中文的bug?
- listbox 读入文本问题.
- DELPHI2009 pAnsiChar 的相关问题.
- 用ADO连接paradox数据库的问题?
- 继承Memo,并增加一个String字段,请给出完整的代码!
- 谁能用indy9.0编写邮件特快专递程序?
- 把二进制文件读进内存流这样写对吗?
- 上面这段函数怎么不能动态创建image啊
- 想学习使用Rational rose请大家提供简单实例教程或方法,分不够另开贴。谢谢!!!
- 想辞职和朋友搞点生意,请大家帮忙出主意?(下午送分)
- 请问怎么判断DBGrid中字段为Memo中内容是否为空?
- (在线等待。。。)如何实时返回程序启动经过的时间?好象有一个函数,有谁知道么,快来砸我!
据您估计,注册和反注册过程中的错误信息的源头应该是什么?
ShareMen这个东西曾经害死我过。
它是Delphi释放DLL调用的一个东东。没有它程序一般都会崩。
我在让客户选择目录时使用了SelectDirectory,我当时从DELPHI自带的帮助中查到用这个函数需要USE QDIALOGS,于是我照作了,结果,呵呵,生成的DLL虽然在编译过程中没有任何错误,但只能在装有DELPHI的机器上注册,而且注册过程中也会出现内存读取错误信息,却不影响该DLL的使用,可是,在没有安装DELPHI的机器上却不能用REGSVR32注册,为了解决这个问题,我将自己写的代码一行一行的检查,都没有发现什么调用错误,只好,将代码拆开来测试.....发现原来是使用了QDIALOGS单元就会出错,后来我在翻以往大家在CSDN上发的帖子时偶尔发现use FileCtrl也一样可以使用SelectDirectory,于是我将USE QDIALOGS改成了use FileCtrl,结果,一个头痛我几天的问题就这样解决了....将这个问题的解决方法写出来,希望如果哪位朋友也遇到类似问题就不用花我这么多时间了....
另外谢谢跟贴的朋友