本帖最后由 御风软件 于 2016-9-30 15:08 编辑
这个本来是准备给回答一个易友的,后面,我刚编辑完,已经采纳关闭了
这里,我发这里补充下,也给新手朋友学习下,很简单的道理,但是很多朋友不知道。
就是调用自己写的DLL后,载入了DLL里的窗口,然后关闭DLL里的窗口(DLL运行完毕),那么在没有结束主程序的前提下再次调用DLL的时候,好像有些东西还保留着第一次调用时的记忆,请问如何每次调用DLL的时候都是全新调用的。就像第一次那样
程序集变量,也是全局的哦。程序集变量,限制在这个程序集可以访问,而全局变量,可以全部程序集可以访问
所以,程序集变量,全局变量,都是全局变量,一直存在的,只是访问的限制而已。
局部变量,是指子程序的参数,和子程序里面声明的变量。
窗口程序集名 | 保 留 | 保 留 | 备 注 | 程序集1 | | | | 变量名 | 类 型 | 数组 | 备 注 | A | 整数型 | | 子程序1 ()返回 (0 ) 子程序2 (A )子程序3 (A )调试输出 (A )子程序4 ()子程序5 ()调试输出 (A )参数A = 参数A + 1 参数A = 参数A + 2 A = A + 1 A = A + 2
像这样,
子程序4,子程序5,依赖程序集变量A,也只能给A赋值
子程序2,子程序3,靠传人参数,可以给任意变量赋值,写dll都是这样写的
两种方式,都能得到一样的结果、
但是,我传参的方式,假如我想给B做一样的效果,只要参数改成B就可以了
如果,依赖方式的,你就要重写DLL,给里面搞个B的变量。扩展性不强
当然了,如果你非得用全局变量的方式,这样写方便。
那你其实也可以在DLL公开一个子程序,设置其值为初始化值就可以了。
|