Z zuoc Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-01 #1 做一个通用程序,需要静态调用DLL,当DLL存在时,执行DLL里的函数,当DLL不存在时,不执行函数。但DLL不存在时总要报错,不知道怎么处理才不报错。
S smokingroom Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-01 #2 静态调用应该没办法不报错,如果可以的话,你将DLL作为一个资源打包进EXE中,EXE执行时先判断DLL是否存在,若不存在则将资源中的DLL释放,并再次自动执行EXE
W wr960204 Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-02 #4 报错是加载器报的.你的程序还没有执行.没办法避免的.
创 创意人生 Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-02 #5 楼上说的是对的,我今天还在努力的做这件事情,后来没有成功,好像程序没办法进行检测。LZ要是发现好办法了,就要贴出来啊。
Q qqjm Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-02 #6 按wr960204的说法,一个程序是无法实现的,要做成两个程序,一个程序作为引导程序,用来检查程序的完整性,一个是主程序。如果要一个程序的话,把主程序打包到引导程序里。
H hwh6666 Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-03 #9 用existsfiels检查文件,如果为true则载入,否则不载入.
L liyinwei Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-03 #10 自己检查 DLL 是否存在是没有办法了,建议楼主做一个引导程序,由引导程序完成软件的完整性检测,检测关键文件是否存在,还可以把升级程序做在引导程序里面。
L lisongmagic Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-05 #14 你先加个判断不就得了,判断该路径下dll存在不? 不存在就不执行不就完事了. 静态不行那就用动态,静态有其优点,动态也有其优点,一种方法行不通或很吃力,为什么不换种方法呢,干吗非固执,去钻牛角间呢
J jianguobu Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-05 #16 试试看用编译指令不知道行不行? $IF.....$Endif 只是我的想法。没试过。
B bbscom Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-31 #17 静态调用DLL时一定要有存在的DLL程序,否则当然会出错。就好比我调用一下方法,当方法不存在时但你要调用就会出错。 你如果是动态调用DLL就可以解决你的问题。