> For info with this issue, renaming the relevant object from the the event handler code, works correctly - it pops a message to ask if you want to rename the control instead of the event handler - so this can be used as a work around for the time being.
Any Ruby or C/C++ experts here? Help me solve this issue and I will send you $100 (PayPal or Bitcoin): #ruby https://github.com/yegor256/futex/issues/5
2) I'm a bit ambivalent about displaying major/minor. For one thing, VBA (4.2) looks like it's using VBA 4 rather than VBA 6/7. And I'd have no idea what to make of Excel 1.8
@MathieuGuindon Thanks. Debating whether or not that should be its own PR - it's kind of tied into the references one, but I had to fix a bunch of CE stuff to link them up and threw a couple enhancements in while I was in there.
Yeah, yeah... this all started from finishing the references dialog, but I should have branched. There are one or two minor UI fixes that haven't synced yet, but it should be mergable.
The PR for the code explorer integration should be ready either tonight or tomorrow.
I have noticed that the code inspection window will sometimes not display expected results.
Noticed this against **Procedure Not Used** & **Statically accessible sheet accessed using string**.
I cannot replicate for the Procedure Not Used at the moment, but have replicated for Statically accessible sheet.
Logs attached - log for Showing has 4 instances, I then ignored one and reparsed and they all disapeared. This is exact same behaviour to what I have seen for P
2018-12-17 15:00:56.1964;WARN-2.3.1.4308;Rubberduck.Parsing.Symbols.IdentifierReferenceResolver;Default Context: Failed to resolve ThisWorkbook.Sheets(Sheetname).Range("A2").Value = "NO PRICING FOUND TO UPLOAD". Binding as much as we can.;
2018-12-17 15:00:56.2274;WARN-2.3.1.4308;Rubberduck.Parsing.Symbols.IdentifierReferenceResolver;Default Context: Failed to resolve Text_String <> ThisWorkbook.Sheets(Sheetname).Range("A" & Pass + 1).Value & vbTab & _
ThisWorkbook.Sheets(Sheetname).Range("B" & Pass + 1).Value & vbTab & _
2018-12-17 15:00:59.8284;WARN-2.3.1.4308;Rubberduck.Inspections.Rubberduck.Inspections.Inspector;System.NullReferenceException: Object reference not set to an instance of an object.
at Rubberduck.Inspections.CodePathAnalysis.Walker.GenerateTree(IParseTree tree, Declaration declaration) in C:\projects\rubberduck\Rubberduck.CodeAnalysis\CodePathAnalysis\Walker.cs:line 72
at Rubberduck.Inspections.Concrete.AssignmentNotUsedInspection.DoGetInspectionResults() in C:\projects\rubberduck\Rubberduck.CodeAnalysis\Inspections\Concrete\AssignmentNotUsedInspection.cs:line 33
couple exceptions left & right in inspector though
2018-12-17 15:00:58.1904;WARN-2.3.1.4308;Rubberduck.Inspections.Rubberduck.Inspections.Inspector;System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Rubberduck.Inspections.Concrete.ProcedureCanBeWrittenAsFunctionInspection.<>c__DisplayClass4_0.<DoGetInspectionResults>b__3(QualifiedContext`1 context) in C:\projects\rubberduck\Rubberduck.CodeAnalysis\Inspections\Concrete\ProcedureCanBeWrittenAsFunctionInspection.cs:line 40
I almost think a lot of these are due to the parser barfing on an un-closed string literal. That may be why the OP can't replicate it.
OHAI. I should have started at the bottom.
2018-12-17 15:02:01.0154;WARN-2.3.1.4308;Rubberduck.Inspections.Rubberduck.Inspections.Inspector;System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
at Microsoft.Vbe.Interop._VBComponent.get_Properties()
> Please note that the base class you refer to is not AnnotationBase but AttributeAnnotationBase, which is the base class for annotations belonging to attributes. That the values are stored in an IReadOnlyList<string> is in line with how attribute values are stored and allows to check whether the values agree in a generic way.
Now they have different properties for the attribute and the values. This makes validating whether the attributes are in sync with the annotations considerably easier.
Moreover, whether a module attribute annotations is deemed to have a matching attribute no longer depends on the value of the attribute. That was a problem for developing an AddMissingAttributeQuickfix as it would duplicate attributes otherwise.
...\BuildRegistryScript.ps1 : The term 'midl.exe' is 18>not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or 18>if a path was included, verify that the path is correct and try again.
I don't believe there is a way to make your script faster since I don't believe VBA can be multi-threaded. The only other way is to create an array of the rows that satisfy your condition, and only loop through that new array, otherwise you will have to use something other than VBA to perform this action. — Ramhound7 mins ago
@MathieuGuindon buried in the VBASDK docs is the reason that MS wanted to multi-thread VBA. Nothing to do with making Excel macros more badass, they had a vision of users being able to implement business logic components and have them run on a middle-tier...
@mansellan i plan to add one more commit to it to address the issue w/ designer. I also need to confirm with more that it does improve the build experience which may or may not change the content. If you plan to make a PR soonish, you might not want to tie that in.
I don't believe there is a way to make your script faster since I don't believe VBA can be multi-threaded. The only other way is to create an array of the rows that satisfy your condition, and only loop through that new array, otherwise you will have to use something other than VBA to perform this action. — Ramhound55 mins ago
@Ramhound - This has nothing to do with multi-threading. Cell reads from Excel aren't thread safe anyway, so attempting to multi-thread against the Excel worksheet APIs is a recipe for disaster. There are plenty of solutions that should be able to do this basically instantaneously on a single thread (as evidenced by the answer below). — Comintern12 secs ago
> Late binding seems to have overcome the issue, perhaps because I am creating the 64-bit object from the 32-bit application and only using objects in the 64-bit application that were created by the 32 bit application?
Something's not right because it should be literally impossible to use wrong bitness library in-process. You can interact using interprocess communication (e.g. running it out of process) but certainly not in process. Can you double check you are in fact using 64-bit or 32-bit for both applications? — this21 secs ago
@IvenBach The only flaw in that is sometimes you can't get more money to upgrade the hardware even if it's only $20 or $30. My stuff would run a lot faster on a faster processor & with more RAM in this new box, but the real miracle is that our IT managed to finagle his way through our archaic corporate IT structure to get me a new PC in the first place. Don't even get me started on the nearly decade old laptops that most of our staff are still using.
@MatthewHagemann I'm not exactly sure what you were expecting as an answer then. The question "crash Excel in exactly the same way that it crashes on a user's machine so I can figure out why it crashes" is oddly specific (and would require a little more omniscience than most of us on SO have). — Comintern7 secs ago
Also, I think there's some demand for hackers in the lower levels of the abstraction chain - closer to the hardware. It doesn't seem a good idea to me to not optimize at these levels, as every % efficiency down there might save dozens of % at higher abstraction levels.
> It doesn't seem like it was fixed after all. I rebooted my laptop and the problem returned, even with the DPI Unaware setting ticked. I never rebooted between setting the DPI Unaware flag, and it seems as if I need to boot with the interface scaling at 100% for it to work properly. If I then change the interface scaling to e.g. 125% after booting, rubberduck works fine. However, if I reboot with it set to 125%, RD will have these issues no matter what I set the interface scaling to afterwards.