rubberduck-vba / Rubberduck

Every programmer needs a rubberduck. COM add-in for the VBA & VB6 IDE (VBE).
https://rubberduckvba.com
GNU General Public License v3.0
1.92k stars 302 forks source link

Rubberduck does not work with my Excel xlsm #2310

Closed Octopus134 closed 7 years ago

Octopus134 commented 8 years ago

I opened an Excel xlsm document with several VBA modules and programming in the sheets. The rubberduck addin was activated automatically due to its last installation. When i opened the IDE there were many messages of unreadable content, Repair options and so on. Very confusing: nothing works. I had to deaktivate rubberduck addin :-(

(Excel2013-32, Win8.1-64, rubberduck 2.0.8.30557):

retailcoder commented 8 years ago

@Octopus134 thanks for the feedback - it appears to be related to the initial parse, which gets triggered by COM event sinks picking up the VBProject being added to the IDE... only at that point in time the VBE hasn't fully constructed its child objects and there's a bit of a race condition that sometimes result in, well, a rather spectacular crash at start-up.

Version 2.0.9.x no longer triggers the initial parse and has been consistently running smoothly on my 64-bit Excel 2010 /Win10 (AMD A10-7800 Radeon R7 CPU) development environment, but was later found to crash on exit on other machines, due to another race condition (aren't those fun!) in the teardown; we're working on getting a consistent clean teardown and reload - it's very close, the current build seems to exit properly, but if the add-in is unloaded and then reloaded, things get messy.

You might want to see if 2.0.9 works for you, or wait for a stable 2.0 release - which shouldn't be too long now.

Octopus134 commented 8 years ago

well, I'd like to test the 2.0.9, but how? There isn't a setup, is it? So I have downloaded the actual code and tried to build it in VS 2015. I didn't succeed: some errors, which I do not understand. Or did I download the wrong code (I think it was "next") - I see, I did not realize the GIT-functionality yet.

Is there a manual/doc for dealing with that code versions?

retailcoder commented 8 years ago

RD should build in VS2015, but there was a major structural change merged just prior to the 2.0.9 release, that basically broke the entire RubberduckTests project; the rest of the solution builds and runs fine, you can remove the RubberduckTests project from the build sequence and there shouldn't be any build errors. The "contributing" page in the wiki has more info about setting it up to run RD from VS.

Try forking the repository and then cloning your fork from Git for Windows - that way you can make a pull request if you go on and fix or implement something ;-)

Octopus134 commented 8 years ago

Thank you, I did not see that wiki page yet. I will try the week after next, because I'm stressed with todos - it is not because I do not want :-)

retailcoder commented 7 years ago

v2.0.10 does a much better job at recovering from a configuration file that was written with a previous version, which I bet is what was causing that startup crash. The installer should now also remove the %appdata%\Rubberduck folder (the folder is created at runtime, not by the installer) upon uninstalling.