编译时,我在消息框中显示错误:
(再次注意,这不是运行时错误,而是编译时错误。在构建EXE时)。
VBCCR16是OCX库的名称,因此,显然,在引用它的项目的编译过程中,正在运行OCX中的某些代码。我不知道OCX / DLL代码是在编译时运行的。
我以前从未见过此事,正在尝试对其进行调试,但尚未成功。我曾尝试在Process Monitor&Process Explorer中查看VB6.exe及其编译器进程,但没有发现明显的继续。事件查看器也没有(没有条目)。
由于错误零在VB6中通常表示“无错误”,因此它本身似乎并不是有用的线索。
在编译过程中在OCX / DLL中调用什么代码?可能是什么原因造成的?
关于如何调试此问题的任何建议?
注1-此错误在我们的构建计算机(Win7虚拟机)上发生,但在编译过程中在我自己的PC上没有发生。如果仅在IDE中运行代码,也不会发生这种情况。
构建设置已经使用了多年,以前从未见过。我不认为这是内存或磁盘空间问题。
注2-我也有posted a question to the OCX library's author,但是我不确定这是否真的是库问题或其他问题,因此是这里的问题。
注释3-我刚刚看到this other question,它描述了编译期间要运行的代码。因此,这显然可以解释此问题的一般情况,而不是真正的根本原因。
答案 0 :(得分:0)
该问题可能与设计者有关。 建议将设计器部件与上次编译的前一个源代码进行比较,以发现奇怪的更改,例如设置为CTX而不是特定字体的字体。 例如:
font = "MyControl.ctx":0848
instead of
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "MS Sans Serif"
Size = 9.75
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty