【问题标题】:DLL variables conflicting with local variables when Option Explicit OffOption Explicit Off 时 DLL 变量与局部变量冲突
【发布时间】:2013-01-11 11:44:24
【问题描述】:

我正在维护一个不使用Option Explicit 的VB6 程序。我知道这不是一个好主意,但我没有编写代码。

我的问题的一个例子是一个名为state 的变量已在没有Dim 的过程中使用。

此后,DLL 已作为参考引入项目中。现在编译器认为state 指的是DLL 中的一个全局变量。现在代码中的一行导致类型不匹配错误。

如何避免这个问题?

参考:http://msdn.microsoft.com/en-us/library/aa241733(v=vs.60).aspx

【问题讨论】:

  • Dimstate 在程序中。没有别的办法。
  • 好的,但是还有很多其他类似的过程——如果这是唯一的方法,那将非常耗时。另一件事是,即使在同名的窗体上有控件,DLL 变量也优先。
  • 是的。或者删除对 dll 的引用。

标签: vb6 global-variables option-explicit


【解决方案1】:

如果不是太麻烦,您可以制作另一个项目作为 dll 的包装器,并且只公开您需要的内容。您的 VB6 程序应该引用包装器而不是原始 dll。如果你需要它的全局状态,你可以重命名它。如果不只是隐藏它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多