« first day (2085 days earlier)      last day (48 days later) » 
00:00 - 20:0020:00 - 00:00

12:00 AM
I'll just kill the ExtractInterface one.
[Minesweeper] Games Played: 113, Bombs Used: 88, Moves Performed: 16549, New Users: 29
[rubberduck-vba/Rubberduck] 1 issues closed. 2 issues opened. 15 issue comments
I wonder how Option Compare is implemented. It's a language construct, but only valid in Access. Presumably that needed some special-casing in the VBA compiler?
12:20 AM
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5387?src=pr&el=h1) Report
> Merging [#5387](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5387?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/dc732efef8fb3a7ced16e4af16e3257ed10fea11?src=pr&el=desc) will **increase** coverage by `0.17%`.
> The diff coverage is `86.6%`.

@@ Coverage Diff @@
## next #5387 +/- ##
@IvenBach Since my PR conflicts really bad with your extract interface refactoring, shall I add the part inside the extract interface refactoring action in my PR?
@Duga The current failed status on GitHub is just because the coverage on the diff still counted as failure.
[rubberduck-vba/Rubberduck] build for commit d5d11dec on unknown branch: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit d5d11dec on unknown branch: 61.77% (target 0%)
1:04 AM
@mansellan Option is the language-level statement; the token that follows it is probably language-level too, but the host might be allowed to provide some... I suppose. Indeed, a good question.
1:53 AM
Access is a special little soldier...
One nice thing about messing with ancient tech is that the books are crazy cheap. I got this on eBay for £5, in basically as-new condition :-)
@M.Doerner if you’re able to sure. My RD dev time is sidelined for a while. It’ll be quite a while before I can get back to it.
Functionality in RD is more important to me than who gets interwebs points for submitting the PR.
@mansellan @IvenBach do you mind if I ditch the [host-specific-excel] tag and use [library-specific] instead for that issue?
FWIW there are inspections that require a specific host application - actually I can only think of one: the "sheet accessed using string" inspection
anything that works off a specific library but that's just as valid in any host application, isn't host-specific
(e.g. automating Excel from PowerPoint... or whatever)
@MathieuGuindon Unless I'm missing something, that's still library-specific? It'd be an inspection for Sheets("Sheet1")? and Sheets is from the Excel library?
related: there are 2.5 VBE's - VBA, VB6 and VBA-in-ODE-mode
2:23 AM
@mansellan no, you need to be in the workbook project to use worksheet codenames
@MathieuGuindon Still difficult to picture, can you give an example?
I mean it flags Sheets("SheetTabName").Something and recommends SheetCodeName.Something instead
(.Something member call for illustration, doesn't affect outcome)
ah yes, I see.
I have a bunch of issues I could raise for [ode-specific], but I suspect they'd have exactly zero users. Unless, of course, it turns out that switching on ODE mode in Office 2019 yields some magical outcome I haven't located yet...
I was hoping that rainbow would be "make 64-bit DLLs with VBA", but it's eluded me.
Eh, pretty sure that nut would be cracked by now if it was possible
then again, ...who knows!
@MathieuGuindon Not sure that's true... Suspect I may have been the first to stumble on the realisation that ODE is just a reg key away, even today.
Stumble being the operative word
Tbh I probably have more to look into. In ODE mode, there's temporary files emitted and an external linker, both of which could yield clues. If I knew how to examine for pointer sizes it would answer it definitively one way or another.
Apparantly one can attach the MSVC 6 debugger to VB native-mode modules, perhaps that is worth exploring
VB and MSVC were very close in their toolchains at v6 it seems
3:08 AM
I do still want to crack that nut --- because I want to compile VBA DLLs
6 hours later…
9:22 AM
> @retailcoder - glad it was helpful. :)
Is there an alert list i can subscribe to for this fix so that my colleagues and myself can return to download Rubberduck when it is useable with Inventor?
9:59 AM
> Thanks for reporting this.

There is a copy to clipboard button in the top-right of the inspection results window.

However, that is broken atm, as reported in #5292. Still, there is a fix for it in the pending PR #5390.

Closing as a duplicate.
> @danny-boy-online you can watch this repository for new releases (or just watch it in general). Note that every pull request we merge gets a prerelease, so it might be a few notifications, before it works.

As it is, you should be automatically notified when this issue gets closed, because you commented here :)
2 hours later…
11:39 AM
> Not sure if it should be a separate issue or not. The indenter puts additional indent after a comment which contains a colon followed by "do", like this:
`Private Sub SomeSub()
'important comment: do not get surprised when line below gets an extra indent
End Sub`

12:04 PM
@mansellan What is VBA-in-ODE-mode? The interwebz return info about VBA 'code' and VBA mode and VBA Mod, but nothing about ODE mode. Unless, of course, my DDG-fu is weakened...
> Update: I just loaded up a new Excel workbook, added some fluff code, added the reference to `bin\rxinventor.tlb` and it was able to parse & resolve the project.

I tried adding:
Public Sub doit()
Dim x As Inventor.AddInAutomation
Dim y As Inventor.Document

Debug.Print "hi"
End Sub

and it still resolves. :\

I tried the `bin32\rxinventor.tlb` just to make sure it wasn't being weird but was unable to load (which I expect since Excel is 64-bit).

Can yo
ODE => Office Developer Extensions
It was a thing for Office 2000, 2002 and 2003. Cost you a pretty penny.
But if you were a sucka that had it, you could compile your VBA projects as a standalone DLL
among other things
> I also noticed that there's a definition for an add-in object. Is it the case that when you load Excel, you also have a Inventor add-in available to you in either Excel or VBA addins (note those are 2 separate kinds of add-ins, with separate managers; so we need to check both places). It might actually be the add-in that is causing problem. We can verify this by unloading the add-in from the add-in manager then reference the library only. If it resolves, then the problem is definitely with the
12:23 PM
Sup everybody
12:58 PM
@FreeMan what @this said, but also it's possible to turn modern versions of Office into developer edition by adding one value to the registry. Unfortunately I can't share that value, as it's the license key. But I do plan to document what happens when the mode is activated.
1:45 PM
Poke @MathieuGuindon what's your current status on the draft pull request you opened around annotations? (#5216)
> As it stands, this change is breaking some unit tests that were expecting a trailing newline to be present. I would also argue in favor of a module ending with a single newline to simplify editing it.

The unit tests need to be fixed before this can be merged, I don't particularly care about the newline at the end, but there is merit to having an EOL-EOF combination at the end of a module, if only because it's somewhat conventional to have that.
At what point should we stop letting people make JavaScript tic-tac-toe questions?
@Vogel612 leaning towards "cancelled" or "up for grabs" at this point =)
@FreezePhoenix eh, try ;-)
2:08 PM
@MathieuGuindon sounds like I'll just close it then, huh?
Done =)
aight :)
> > Update: I just loaded up a new Excel workbook, added some fluff code, added the reference to `bin\rxinventor.tlb` and it was able to parse & resolve the project.
> Can you please confirm that this issue exists even with the latest version of Rubberduck?

@bclothier - the OP and I are using the latest official release Which version are you using so that i can download and try the one you are using and report back pls?
@Duga beat me to it
> > there's a definition for an add-in object. Is it the case that when you load Excel, you also have a Inventor add-in available to you in either Excel or VBA addins (note those are 2 separate kinds of add-ins, with separate managers; so we need to check both places). It might actually be the add-in that is causing problem. We can verify this by unloading the add-in from the add-in manager then reference the library only. If it resolves, then the problem is definit

@bclothier - i don't thin
2:34 PM
> @Vogel612 , @bclothier
I've updated RD to the latest you recommended (v2.5.0.5338) .
I still get the same error as you can see in screenshot.
3:19 PM
@Duga hm, do we know if DannyBoy is using a 32-bit host? I think I have 32-bit Excel here, I'll try loading the .tlb
he mentioned he did both
but yes please try and load the 32-bit tlb
I can't from here
I had noticed in his screenshot, his excel workbook was saved as a xlsm. Tried using a saved xlsm. No luck.
Even unblocked the file (since it was downloaded from internet) in case it matters (I kind of doubt it because if it did, VBIDE wouldn't have been able to load it in first place but have to be sure)
3:38 PM
argh, it's x64
I know I have a 32-bit host somewhere
loads x64 tlb
Excel freezes
why would it freeze there but not here?
ok it's back
and parsed
I'll try on x86 ...weird that we can't get a repro
I was so confident that we'd reproduce once Danny reported that simply referencing was sufficient.
2020-02-19 20:37:49.3409;ERROR-;Rubberduck.Parsing.VBA.ReferenceManagement.ReferenceResolveRunnerBase;Exception thrown on resolving those modules: 'VBAProject.Module1' (thread 19).;System.NotSupportedException: Unexpected context type Rubberduck.Parsing.Grammar.VBAParser+ExpressionContext
   at Rubberduck.Parsing.Binding.TypeBindingContext.BuildTree(Declaration module, Declaration parent, IParseTree expression, IBoundExpression withBlockVariable, StatementResolutionContext statementContext, Boolean requiresLetCoercion, Boolean isLetAssignment) in C:\projects\rubberduck\Rubberduck.
this isn't the COM type loader throwing
correct, but it's the same error as reported in the issue
3:43 PM
I thought we were looking for the resolver error
I got as far as Ready.
@Vogel612 yes, I'm looking at the provided logs
@this me too
oh. ... hm.well ...
wait, I do get a repro with a Module1
what is different?
logging was off, ...turned it on, and now it got to Ready
3:47 PM
uhhh... what?
pasted the code, reparsed, and got the resolution error
hold on, pulling the log
2020-02-20 10:47:39.5127;WARN-;Rubberduck.Parsing.VBA.ReferenceManagement.CompilationPasses.TypeAnnotationPass;Failed to resolve type VBE;
2020-02-20 10:47:39.5197;ERROR-;Rubberduck.Parsing.VBA.ReferenceManagement.ReferenceResolveRunnerBase;Exception thrown on resolving those modules: 'VBAProject.Module1' (thread 64).;System.NotSupportedException: Unexpected context type Rubberduck.Parsing.Grammar.VBAParser+ExpressionContext
   à Rubberduck.Parsing.Binding.TypeBindingContext.BuildTree(Declaration module, Declaration parent, IParseTree expression, IBoundExpression withBlo
ugh stupid French stack traces
hmm cutting'n'pasting didn't get the error for me
now we only need to get that reliable, eh?
removes autodesk tlb reference
re-references tlb
resolver error again
but I don't get it...
3:51 PM
does the AutoDesk TLB create a VBE type?
I tried it again and again. No luck not even w/ cutting'n'pasting or de'n're-referencing
@MathieuGuindon that TLB is absurdly huge. Probably puts Excel's to shame.
@Vogel612 no, but there's a VBE member on Application and InventorServer (that one's hidden) classes
I should probably update the RD build on that machine..
> Good news, repro confirmed on x64!

OS: Microsoft Windows NT 6.1.7601 Service Pack 1, x64
Host Product: Microsoft Office x64
Host Version: 16.0.12430.20264
Host Executable: EXCEL.EXE

Now the bad news is, I don't have a RD debug build on this machine, so I'm not sure exactly what's going on with the resolver, but I can confirm that removing the .tlb reference makes the parse run to completion.

From the logs and stack trace it looks like the .tlb was succ
updated. firing up Excel...
ready. adding the .tlb...
done. parsing...
adding module1
...resolver error
.... and that's an unsaved file, right?
4:01 PM
but... I did exactly that and it's Ready for me!
I just tried it now
even taking care to add the tlb and getting a successful parse before I add the module....
> Repro also confirmed with the latest pre-release built (x64):

OS: Microsoft Windows NT 6.1.7601 Service Pack 1, x64
Host Product: Microsoft Office x64
Host Version: 16.0.12430.20264
Host Executable: EXCEL.EXE

Steps taken:

- Fire up Excel (with a new, empty, unsaved workbook), bring up the VBE
- Rubberduck parses the project; go Tools > References, locate the .tlb, add it
- Adding the library did not trigger an automatic reparse (?); hit "Ready" to pa
@this hm, I don't even need any code in Module1, I get the error right after adding the module into the project. wtf...
I hope I can repro at home with a debug build...
Just tried adding a module via CE. Works fine.
WTF, indeed.
wait a minute...
Unexpected context type Rubberduck.Parsing.Grammar.VBAParser+ExpressionContext
public IExpressionBinding BuildTree(Declaration module, Declaration parent, IParseTree expression, IBoundExpression withBlockVariable, StatementResolutionContext statementContext, bool requiresLetCoercion = false, bool isLetAssignment = false)
    switch (expression)
        case VBAParser.LExpressionContext lExpressionContext:
            return Visit(module, parent, lExpressionContext);
        case VBAParser.ExpressionContext expressionContext:
            return Visit(module, parent, expressionContext);
^ that's what's throwing
so... how is the VBAParser.ExpressionContext argument not matching the case VBAParser.ExpressionContext branch???
bug in C# pattern matching?
...that just happens sometimes...
4:13 PM
if it's sometime, it'd have to be specific to some version of framework or C# or whatever
since I consistently can't repro but you consistently can.
> Something isn't adding up. According to logs this `switch` block is where the exception comes from:

public IExpressionBinding BuildTree(Declaration module, Declaration parent, IParseTree expression, IBoundExpression withBlockVariable, StatementResolutionContext statementContext, bool requiresLetCoercion = false, bool isLetAssignment = false)
switch (expression)
case VBAParser.LExpressionContext lExpressionContext:
return Visit(module, parent, lExpre
4:30 PM
the other element that's confusing, is that the exception mysteriously vanishes if the library is un-referenced
would have to see what expression it's tryint to match
I can't see how it would come from the library, TBH
I don't either.. the library isn't even involved. I'm stumped.
to verify, that code doesn't process all the types, right?
rephrase: that code is not a part of bigger branch that somehow process all the types
hard to tell
I want a repro with a debugger attached
me too.
if t's really a framework version, where we'd compare versions?
4:36 PM
basically if it's parsing an empty module in an empty project, what expression tree is there to build?
@this I don't think it's that
@MathieuGuindon thinks of a snark. thinks better of posting it ;-)
I hate that stack traces are locale-dependent
@MathieuGuindon what else would cause you to repro but not me?
AIUI, both of us are consistent, so it is something about the machines.
@this latitude, angle of attack of cosmic rays?
@MathieuGuindon an empty one.
4:41 PM
but why though
"defies logic in a pretty scary way" - needs [critical] tag?
@mansellan if it happened without that library referenced, it would, yes
ah yes, still library-specific
@MathieuGuindon dons tinfoil hat
@this idea: try parsing again with the hat on
4:45 PM
5:39 PM
@this I actually saw that the other day. He was walking down the street pushing his shopping cart. Instantly thought of you with your hat and belts-n-suspenders, but in the good way.
FWIW: no repro on Windows 7 VM with excel 2010 32-bit.... :-\
got 2016 somewhere?
I don't think so.
@MathieuGuindon I have MSDN enterprise (for now!), so I can use any Office
they're not renewing it when it runs out though :-(
FWIW, Dan did report it doesn't work on O365
6:07 PM
Unrelated: I'm so glad to have my ducky back. I finally was able to un-bork my WPF PR (WIP)
turns out that "fixing" csproj was the cause for the borken
It was modified and had lines like <Page Remove="UI\Styles\LightBlueTheme.xaml" />
I did not add them myself and thought it was unnecessary and removed it. That caused VS to try and compile those XAML files as a Page rather than Resource
oh wow
(despite the explicit lines further down where we have <Resource Add="..." />)
it didn't help that the error it threw did not even come anywhere to suggesting that the XAML files were pages, not resource. It just hollered about not finding the Infalution XAML.
6:18 PM
at least I can get on with actually implementing a windows-theme-aware theme
6:31 PM
Q: Best practice when checking multiple addresses for a Worksheet_Change() event?

dwironyI'm doing some code revision and I'm looking at this portion of my Worksheet_Change() event: If Target.Address = "$A$4" Or _ Target.Address = "$A$7" Or _ Target.Address = "$A$10" Or _ Target.Address = "$B$21" Or _ Target.Address = "$B$22" Or _ Target.Address = ...

6:50 PM
@MathieuGuindon codereview.stackexchange.com/a/237197/131748 links to your RD post 'The Macro Recorder Curse'. Little traction every day Mug. Keep that #IndustryDisruptor ball rollin'.
FML, someone used "l" as a variable (i, j, k, l, m, & n) in this module... time to refactor everything and hope that it doesn't break the module
one thing i've noticed when refactoring, if the line of code is already about at the end of the module, it will push characters to the next line causing a parse error, which causes all sorts of fun
as in a completely blank module is present; scary unti lyou realize somethign RD is doing can just be ctrl+Z'd back to where you were
blame VBIDE"s stupid API
Also, AvalonMentions++;
...and IDE froze; guess i lose all changes
at least i found a consistent way to break VBIDE with RD
holy F it saved... oh no
So, i guess RD copies all of the content from a module, deletes the module, creates a new one, and pastes into it with the refactored name? because my module is gone.
essentially yes
some refactoring needs to work w/ attributes so it needs to work w/ exported file
location for export? cus i'm hoping to recover everything i've been working on
6:59 PM
not only that, if the module has any attributes, refactoring just the code pane stuff would wipe them all
@Cyril most likely %temp%
@this we should just add a glob customisation to get all of those. Can't think we'd ever want xaml files treated as Page?
...with a random filename..
now we have a globbing project format, it seems a shame not to use it as such?
yeah, this will be rough; time to go through my archive to see if i have any back-up code.
possibly but I'm inclined to wait until they fix that stupid SDK
7:00 PM
yeah good point
the sunburst sdk is not 100%
i "should" be fine, but still a scary point when causing a parsing error and it freezes the IDE
@this disappointing we still need it. We're waiting for MS to fix something iirc?
managed to move a work WPF project to the normal sdk, it's so much nicer now.
Yes - sunburst is weird WRT non-code resources and iffy w/ designers
Official SDK seems to have them work more sanely....
Yes we are still waiting on them to fix. It was supposed to be fixed last tuesday but Microsoft had to make another boo-boo.
FTR I still consider .NET Core as "hey .NET is nice & stable, LET'S BREAK EVERYTHING"
no worries. Wait til .NET Core 6.
(that'll be when they introduce .NET Bare)
(or .NET Extreme. Could go either way)
"next version will fix all our problems" - previous version
huh. reading the end of that issue, the 3.1.2 release didn't fix it. that sucks.
@this thinking by then it's going to be .BET (not a typo) - you flip a quarter and bet heads or tails, and if you win then maybe the damn thing works
7:17 PM
@mansellan yeah, judging by the analysis, someone screwed up the reference to ValueTuple
seems to be a problem when using the the new format but targetting netfx and when using wpf
weirdly, not seen it at work, in exactly that situation
hmm, really?
I maybe should try it for giggles
lemme check what sdks I have
AIUI, if your VS is 16.3 or lower, it'll be fine
this issue only exists in VS 16.4
since that's the version that bought the 3.1 SDK
OMG VS Installer. Why do you have to update EVERY TIME I LAUNCH YOU!
7:20 PM
Because in soviet union, the installer installs you!
I was in break mode while running a test. I got called away for a while. When I came back I went to resume debugging and hit F8. The application "working circle" started spinning. Then the entire Excel session closed. I then got a warning that Malwarebytes had blocked the RD logging.
how many updates does an installer need ffs, what are they changing?!?
Nothing. This is purely out spite.
@SmileyFtW weird. was the desktop locked for a while?
Now in the RD "About" the link to the Logs folder goes to the Computer in Windows Explorer; nowhere near the Logs folder, which apparently Malwarebytes removed!
7:23 PM
ok wtf is this
The desktop was not locked.
contact Malwarebytes, give 'em all the shit you can
It was on my laptop (plugged in) and doesn't lock when plugged in
That's my plan.
yep, i'm on 16.4.3. I do have the 3.0.1 sdk still installed though, which iiuc normally gets removed and causes the pain
7:25 PM
@SmileyFtW does %appdata%\rubberduck still exist?
But to get RD running again I installed the latest version and thought it would "repair" the path. I went into my Malwarebytes settings and whitelisted the path after recreating the path. The button in the settings pane found the folder.
Malwarebytes had removed the path
@mansellan are you explicitly loading the 3.0.1 SDK?
there was a comment earlier in the thread that it would work around the issue
@SmileyFtW that's actively destructive activity, from a software that claims to protect from such activity. :slow-clap:
7:27 PM
that's the thing though, I never saw the issue so wouldn't have taken active steps to work around it
I had to recreate the path to tell Malwarebytes what folder to whitelist
curious wth caused MWB to think that folder was a problem in the first place
maybe I'm anti-Iven.... things just work, for no obvious reason
They will be getting an earful. Thankfully I had saved before running the test because the "recovered" file was trash.
7:29 PM
do we emit logs even idling?
in any case, consider only enabling logging when troubleshooting or trying to repro a specific issue
the other possibility is that it bit one of the other devs, and they silently fixed it
@this how would we?
Good question. We only emit in reaction to something.
If there's a event that keeps firing....
@MathieuGuindon do { Log.WriteLine("Hello World"; DoEvents(); }. Make sure to turn Application.ScreenUpdating off first though, for perf.
7:30 PM
I like the logging since it has been more helpful enabled than not and hasn't caused issues for me in the past
oh, I wholeheartedly agree
OTOH, I don't have antivirus malware going around and deleting random folders, so...
I will be whitelisting on my main computer before starting work on that computer.
In 1920s, it was the baptists & bootleggers. In 2020s, it is antivirus & malwares.
Any suggestions on how to "fix" my laptop? I updated RD, opened XL and the VBIDE, did a Refresh. Shouldn't that activity have created a logfile (it didn't)?
@SmileyFtW bring up the settings dialog, hit the nav button
unsure what the state of the config file is
7:34 PM
Show Log Folder?
then move up one level
It finds the folder
that should be %appdata%\rubberduck
is there a config file in there? you may be running on the default config now.
first successful launch of RD would have disabled logging and written the config file
It's C:\Users\dgmsm\AppData\Roaming\Rubberduck; %appdata% goes to C:\Users\dgmsm\AppData\Roaming
yep, looks right
7:38 PM
There's no config file in the RD folder
just the Logs folder
and a Templates folder?
nothing but the Logs folder
and RD starts up fine in Excel?
anyway, so yeah without the config file you're back on default config now
7:39 PM
seems to. And I actually opened the file I had saved and run all tests... all ran as expected
ok so all that's left to do is to write a salty rant then :)
I think templates get auto-created in similar manner to config- only when you actually use/customize it [citation needed].
and figure out how to get RD back to normal. I've closed XL and reopened it to the VBIDE a couple of times and still don't have config or anything except an MT Logs folder...
@this ok
@SmileyFtW you won't have a .config file as long as you're using the default settings
@SmileyFtW I don't think you get a config until you actually change something in the config what Mat sez
7:43 PM
Thanks! Now back to work...
And nasty email
Subject: I left my computer unattended with MalwareBytes installed. You'll never believe what happened next.
Subject: MalwareBytes missed a critical malware! When you find what the malware is, you will be utterly shocked!
hint: MalwareBytes
7:57 PM
@MathieuGuindon in checking %temp% i didn't see any .bas file enclosed (assumes a .bas was exported). there is a rubberduck folder in there thta had no content. is it possible that RD uses a kill/quit/delete for the exported file?
i ended up pulling my archive and using a backup from 0800, so that module in particular had few if any significant changes (was just starting to refactor it when i noticed all of the fun and had the IDE crash)
00:00 - 20:0020:00 - 00:00

« first day (2085 days earlier)      last day (48 days later) »