我正在尝试编译 VB6 应用程序,但它失败并出现错误“运行时错误'91':对象变量或未设置块变量”。事实证明,用户控件的 Resize 事件在编译和调用试图访问尚未实例化的对象的代码期间触发。
为什么在编译过程中会触发事件,有什么方法可以阻止它?
编辑:我在这里有一些代码,但它不相关。问题是由于 UserControl 代码(即 Initialize、ReadProperties、Resize 和 WriteProperties 事件)可以在意外时间执行。如果这些事件中的代码依赖于其他代码来初始化其任何数据结构,那么它很有可能会失败,因为该初始化代码可能尚未执行。尤其是在编译期间,什么都不应该执行!我认为这是一个错误,但我确信微软可以以某种方式合理化它。