不知道如何做,请教!

解决方案 »

  1.   

    你可以在VB中保持这个变量。再DLL中将这个变量作为输出参数传递回VB,然后再VB下一次调用同样的函数时作为参数传递过去。
      

  2.   

    是的,开始我也这么想的,可是又有个问题:这个变量是那个c dll的特有的结构体变量,我在vb中传递这个结构体,提示说自定义结构无法传递什么的。
      

  3.   

    思路很明确的,代码也没什么用啊,记得以前看C#,对于类,可以定义静态变量,然后在类的构造函数里处理,现在做的是c的dll,是不是也可以有类似的办法?或者,让dll运行一次就不退出?
      

  4.   

    在 DLL 中把变量声明为 static 型,可以保证在你的VB程序运行的整个期间每次调用时它不复位。
    如果你期望你的VB程序关闭了以后再打开,DLL 中的值仍然不变,那么就必须得用上外存。就是说,当你的DLL发觉自己被卸载的时候把这个值写到硬盘或注册表中。当他被装载的时候从你保存了的存储位置读入。或者给你一个傻瓜办法。统统利用注册表。就是说凡是给这个变量赋值立刻写到注册表里去,凡是要获得它的值一律从注册表中读出。这样还避免你去识别它卸载和装载的麻烦。
      

  5.   

    我只是想在vb运行期间能够不复位,看来c的dll也可以用静态变量啊,我试试~成功后结贴~谢谢楼上大哥!