If this project is entirely in VB6. The likely cause of this is that the EXE has a copy of the DLL binary in it's directory. When you fire it uses that copy instead of the compiled copy. When you ADD methods or classes that EXE becomes incompatible with the old DLL. If you did a bug fix or just worked with the inside code then EXE will run but it used the old DLL.
Set your DLL to Binary Compatibility.
Make sure you have a Compatible directory.
Put the DLL of the Last version in there.
Point the Binary Compatibility to that DLL.
Make sure your EXE compiles to it's project directory.
Run the EXE from it's project directory. That way it will use the DLL that you compiled.
You need to write a utility so that you can compile every project separately.
Test your setup using Virtual PC or another computer.
All these steps will help to avoid DLL Hell. My own project has two dozen ActiveX projects in 6 layers. When I adopted the above my DLL Hell problems dropped to almost nothing.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…