« first day (1761 days earlier)      last day (750 days later) » 
00:00 - 20:0020:00 - 00:00

12:00 AM
131072GB of virtual memory is no small number.
[bruglesco/FleetCommand] 2 commits. 185 additions. 23 deletions.
[rubberduck-vba/Rubberduck] 1 commit. 2 opened issues. 13 issue comments. 65 additions.
[Zomis/minesweeper-server] 4 commits. 2 opened issues. 1 closed issue. 1 issue comment. 424 additions. 381 deletions.
[Minesweeper] Games Played: 151, Bombs Used: 93, Moves Performed: 17078, New Users: 18
For this build, I should have the AWE (or LLA?) activated by default? I didn't find it in the settings.
Yeah. It's more and more sluggish. :-/
I even saved it in .xlsb.
3rd crash. Again after automatic fix (for option explicit missing)
Well,a fter I opened --only-- the "show memory xlsb", it shows
So the project I work on has only 0.39 GB? But what the hell is the default 1GB of virtual Memory..
So it looks like the memory is the issue? Now, on the first try, it won't even parse (it parsed on the second try)
2019-04-02 02:17:02.7594;INFO-;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (5) is invoking StateChanged (Error);
2019-04-02 02:17:03.4342;ERROR-;Rubberduck.Parsing.VBA.ParseCoordinator;Unexpected exception thrown in parsing run. (thread 7).;System.AggregateException: One or more errors occurred. ---> System.OutOfMemoryException: Exception from HRESULT: 0x800A0007 (CTL_E_OUTOFMEMORY)
   at Microsoft.Vbe.Interop._VBComponent.get_Designer()
And it took 54 seconds
2019-04-02 02:18:38.8214;DEBUG-;Rubberduck.Parsing.VBA.RubberduckParserState;Module 'frmLoadRegime' state is changing to 'Ready' (thread 12);
2019-04-02 02:18:38.8214;DEBUG-;Rubberduck.Parsing.Common.ParsingStageTimer;Resolved references in 597ms.;
2019-04-02 02:18:38.8504;DEBUG-;Rubberduck.Parsing.Common.ParsingStageTimer;Determined module to module references in 25ms.;
2019-04-02 02:18:38.9913;INFO-;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (14) is invoking StateChanged (Ready);
Aaaand after trying to fix a warning (vbnullstring instead of ""), crashed again :-(
That's weird. It's truth I wasn't working on my project for 2 months but before there were no problems of this type :-/
This is the last debug log just before crashing
2019-04-02 02:22:32.5553;WARN-;Rubberduck.Parsing.Symbols.IdentifierReferenceResolver;Default Context: Failed to resolve 10 + (.Width * dist) * (i - 1) - _
                    (.Width * dist) * Int((i - 1) / btnsInR) * btnsInR. Binding as much as we can.;
2019-04-02 02:22:32.5553;WARN-;Rubberduck.Parsing.Symbols.IdentifierReferenceResolver;Default Context: Failed to resolve ThisWorkbook.Path & "\resource\pictures\lomo_" & Format$(i, "00") & ".gif". Binding as much as we can.;
12:35 AM
For those interested, here is the TRACE. Around line 2050 I pushed "fix all instances on Module" After a minute, crash again :-/
Going to bed. 2:30 AM here. :) GN.
1:29 AM
@SonGokussj4 nice find! maybe that quickfix shouldn't be allowed to run for more than a single procedure
@SonGokussj4 is that the whole stack trace?
@SonGokussj4 got the entries for thread 5?
2:23 AM
> Very Brilliant Addin
too cheesy eh
5 hours later…
7:38 AM
@MathieuGuindon Glad to help. Yeh, it's the whole stack trace from start to crash.
@MathieuGuindon Oh this one... No, that's only the last few lines. The whole is the gist, I posted: chat.stackexchange.com/transcript/message/49753321#49753321
Anyway the same thing (same workbook) is happening in my workplace too. Can't fix anything at this moment.
1 hour later…
9:03 AM
Hm, I am a bit surprised we failed to resolve on the second warning.
Based on the full log, RD made it to the ready state and then OOMed before finishing the first inspection.
Q: Increasing number problem: Recursive instead of brute force algorithm?

Lucas Raphael PianegondaThis is the "Increasing Number problem". Where we are looking for all numbers with N digits where each digit is bigger than the digit before it. Or in Mathematical therms where: And Examples: 123456789 or 123 or 569 or 139 or 45 or 12379. Goal: Give out all numbers that fullfill these pro...

1 hour later…
10:27 AM
@M.Doerner just to check - is there any problem is I made the CommandBase.Execute virtual? It currently is not, which cannot be overridden.
11:03 AM
After thinking about it, I ended up simply overriding the OnExecute and EvaluateCanExecute in the ComCommandBase, sealing them both, then require the child classes to implement SafeOnExecute and SafeEvaluateCanExecute. That does not require me to modify CommandBase, which I didn't want to do. Not as pretty since child classes must use different methods but that'll address the issues, I think.
Q: VBA processing multiple files

a1a1a1a1a1Const FOLDERPATH As String = "\ITSEASY" Const DATAFOLDER As String = "\AS" Const OLDDATAFOLDER As String = "\ABC" Public Sub ExportData() Application.ScreenUpdating = False 'GET DROPBOX PATH Dim TheDropBoxPath As String TheDropBoxPath = DropBoxPath.GetDBPath Dim files() As Variant 'STARTS AT 1 f...

11:34 AM
I think I remember why I did not want to do the Safe*** approach - that would have left the derived classes with two methods, increasing the mental load to use. I wanted to use the EvalulateCanExexcute and OnExecute so the child classes can still behave as if it was just ComCommand but with additional constraint enforced by ComCommandBase. I'm changing the code in the Code Explorer commands and it's not pretty since it has lot of references to the base.EvaluateCanExecute...
... which is now wrong.
12:00 PM
@this Have a look at what I have done in the RefactoringCommandBase in my PR.
That approach might work here as well.
12:11 PM
hmm, if I'm reading this right, the RefactorCommandBase still exposes EvaluateCanExecute; child classes can override that.
even though they should actually use AddToCanExecuteEvaluation to customize the behavior
The issue I have with CE items is that they have calls to base.EvaluateCanExecute, which must be changed to base.SafeEvaluateCanExecute to avoid infinite recursion and therefore a stack overflow.
As a matter of fact, the tests are now aborting with a StackOverflowException because I missed a base.EvaluateCaneExecute somewhere. Even more fun, NUnit does not deign to tell me which test.
1:04 PM
I think it would be best to change the CommandBase to the setup of the RefactoringCommandBase. Otherwise, it cannot be enforced that the derived classes honor the execution conditions of the base class.
That would be a separate PR, though.
I also do not like that we have to pass a logger to the CommandBase.
The point of my setup is that you do not have to invent a new CanExecute method for each level of the hierarchy.
Agreed. Let's do that in the PR after that.
1:53 PM
Rubberduck doesn't actually find all references for an implemented member?
2:53 PM
> **Rubberduck version information**
The info below can be copy-paste-completed from the first lines of Rubberduck's log or the About box:

Rubberduck version
Operating System: Win 10
Host Product: Microsoft Visual Basic 6.0
Host Version: [...]
Host Executable: [...]

It seems vb6 allows a semi colon on the Print line to suppress CRLF. It seems to be an exception but it is making parsing fail on my [very old and large] code base.

> Thanks for the feedback! This parser bug has been reported as part of another issue last week - let's keep both open, and make the older one specific to the issue with `Line` statements.

ref. #4875
> Ah I'm sorry - the title didn't give me any hints 😆
> @mika76 no problem! we very much prefer having a single bug per issue, makes it easier to associate commits with a specific issue :smiley:
3:44 PM
@this I seem to recall find all refs being kind of broken for interface members, but are you saying direct references to ISomething_DoSomething should count as references to ISomething.DoSomething? IMO they shouldn't
it would be convenient
I believe R# can do that but via the advanced option
hey @Vogel612, I saw you had linked commits to #4875 (for the Line syntax), so I assigned it to you - the semicolon bug should be addressed separately :)
yea, then I need to update my PR to use a fixes instead of a see
I also just read through this :)
> Since #4888 is now about the second part of the issue this references, this PR is now considered a fix for #4875 instead of only partially fixing it.
^^ I ain't gonna merge my own PRs, btw.
3:57 PM
@MathieuGuindon FWIW I'm keeping my hands off the Print thing, the fix there seems to be quite a bit more complicated.
because we need to make a resolver-like inference at the grammar level
shouldn't the fake Debug token exclude it from being treated as a Debug.Print?
Problem is that accessReport.Print also supports the semicolon thing... So we have to kind of special-case Print as a member call too
...without allowing it for standard member calls, ideally
and I already failed to properly enforce the argument omission syntax requirements of the lineSpecialForm, so I'll keep my hands off the Print thing
lots more that could go wrong
4:07 PM
gonna love how they thought nothing of special casing the language
the good news is that Print seems to be a reserved identifier, so we have a way of forbidding it as a member call while crafting a similar rule that allows trailing semicolon and comma tokens when something looks like a member call but the member is Print
makes me wonder... is foo.[Print]() acceptable?
should be.. but Sub [Print]() isn't
but what about external objects?
I could create a COM object that has Print member?
I suppose so, and that's where our work-arounds fall flat
4:13 PM
we might have to pretend that the ; is legal with any Print method, then check within the resolver whether it's one of special cased objects.
(or just not... let VBA compiler do the yelling)
feels moronic, though.
I wonder how it's parsing the source code. Is it one giant jump table with 1000 different conditions...
I bet that's why Worksheet.PrintOut (Excel) and Document.PrintOut (Word) aren't named Print
also Presentation.PrintOut (PowerPoint)
ok so now I have to build a COM-visible object that exposes a Print method and see if VBA compiles a call to that method followed by a semicolon
...and why wouldn't I be surprised if that were the case...
@Duga yay, another VB6 customer :-)
VS 2019 launched today
4:37 PM
oh wow
just.. wow
Print in foo.Print gets keyword highlighting, and the above merrily compiles
semicolon acts as what there?
as in: what happens if you put in more stuff after the ;?
4:38 PM
still compiles
Sub Test()
    Dim foo As PrintMethodTest.Class1
    Set foo = New PrintMethodTest.Class1
    foo.Print "foo"; "bar"
End Sub
what obout the output?
well I made the method no-op so...
^ what does the COm class actually get
huh, error 438
just debug print the input
438 is what again? not in collection?
4:39 PM
member not found
    public interface ITestClass
        void Print(string value);
        void DoSomething();

"Object doesn't support this property or method"
fwiw foo.DoSomething does correctly do nothing
foo.Print throws 438
even without the ;?
even with only a single string argument?
yup and yup
4:41 PM
love it :)
soo ... do we inspect for that?
how would we?
IOW a Print member call isn't legal whichever way you put it
^^ that
4:42 PM
@this flag all Print members
but... there can't be any
user code won't compile Sub Print()
and referenced libraries can't expose a Print method, it throws 438
> [id(0x00000869), helpcontext(0x000035dc)]
void Print([in] BSTR Expr);
that's all.
@Vogel612 what Mat said - we can't create it to start with.
@MathieuGuindon yet, that's what Access.Report has
@this that's the Report.Print method?
and apparently works...
4:44 PM
there has to be something going on
curious if Print gets keyword highlighting in that case?
Maybe a special DispId?
doesn't seem "special"
@MathieuGuindon give it that and see what happens
> Expr Required String The string expressions to print. If this argument is omitted, the Print method prints a blank line. Multiple expressions can be separated with a space, a semicolon (;), or a comma. A space has the same effect as a semicolon.
(I don't have Access to test this)
4:48 PM
No, i meant your COM class
to see if 0x869 has special meaning to enable semicolon
TBH, I'd think that if it were special, it'd be negative or something
but... #hack
Or maybe you need to accept a String []
that's not what the Report.Print has, though.
right it's just a plain old BSTR
4:50 PM
one'd think this should work:
Dim s As String
s = "ab";"cd"
this is a compile error, though; whereas this compiles:
Dim r As Access.Report
r.Print "ab"; "cd"
if it's not at COM level, the only way I could see this working is that it's VBA hijacking the Print and consuming the expressions before ultimately calling the Print with all the combined expressions.
@this doesn't change anything
(still blue, still throws 438)
blue => keyword?
Access' is keyword, too
well keyword-blue anyway
4:54 PM
but that's not blue?
wait the r is??
my theme has keyword white
facepalm right
quite flagrant there
4:56 PM
make you want to go back to 98 and kick some asses, doesn't it?
here's the thing...
Public Sub nooo()
    Dim i As Long
    For i = 0 To 2
        Debug.Print i;
End Sub
hmm, I should try that on Access.Report.
let me see...
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
    Dim i As Long
    For i = 0 To 2
        Me.Print i;
End Sub
so it has the same attribute as the Debug.Print; caching the value between calls
or at least modifying the same thing between calls, IDK.
hmm are we supposed to use ref string?
5:13 PM
@this suppressing the vbNewLine and inserting a space ;-)
> So I made a quick little DLL to try and see how the VBE actually works, made it COM-visible, exposing a `Print` method:

![Print member showing with keyword highlighting in the VBE](https://user-images.githubusercontent.com/5751684/55421228-c6081180-5546-11e9-8a64-7903978478e5.png)

The `Print` member gets keyword syntax highlighting, which is a tell-tale sign *something* is going on at the language level. The code compiles, but running it throws run-time error 438 "member not found"; invo
@MathieuGuindon did you try the ref string?
trying now
same difference
(throws 438)
i tried to check whether the print had effect between loop but I cannot see the actual output - it doesn't happen until the procedure has exited so I have no way of knowing if it was in fact rendering something between the call or not
it should - that's actually the use case for it :)
For i = 1 To 10 : ?i; : Next
 1  2  3  4  5  6  7  8  9  10
5:22 PM
and comma for tab-alignment
you know, the most evil thing is that the default theme makes it very hard to notice the difference between keywords and identifiers
there's that
I am a bit ashamed to admit that I just noticed now that the () can be colored differently
e.g. LBound() gets keyword colors for its ()
Add red test reproducing lineSpecialForm grammar bug

see #4875
[rubberduck-vba/Rubberduck] Vogel612 pushed commit 30b40b28 to next: Fix lineSpecialForm's Line Continuation Behavior
Add more lineSpecialForm tests

This commit also corrects the Category on a swathe of Grammar tests
incorrectly marked as Parser tests.
Fix lineSpecialForm

lineSpecialForm now correctly handles omission of the color argument
as well as line-continuation behaviour.

This fixes part 1 of #4875
Merge pull request #4884 from Vogel612/fix/lineSpecialForm

Fixes parser rule for Line special-form syntax.
> I'm not 100% but I think they can be separators as well as trailing. Both comma and semicolon
> Closing as fixed - see linked issue #4888 for the Print semicolon bug.
> @mika76 that's correct - basically the parser rule we have for special-casing Debug.Print :+1:
5:46 PM
@this looks like a syntax highlighter bug lol
hmm unless it's special.
but you might be right about the bug - the Mid() statement doesn't highlight its () (nor its Mid keyword) as keyword.
Go figure.
VBA highlighting: meh. You'll figure it out.
@Hosch250 any experience w/ OpenAPI?
(aka swagger)
6:05 PM
@this ~heavy sigh
I take that it's not the greatest thing since the sliced bread
IIUC it's just generating docs
not even something like a SOAP API, which generates a machine readable XML based on a proper metaontology
I might be wrong, but the project I'm working on uses swagger and I've never seen anything consuming it
Microsoft does use it
maybe they're doing it right then ...
(e.g. if you want to create a API to be consumed by power platform product, it needs to have a swagger doc)
6:12 PM
> The 'About' dialog has the correct icon:

!['About' dialog has the correct icon](https://user-images.githubusercontent.com/5751684/55425427-73335780-5550-11e9-840e-68e7ef480e83.png)

The 'Regex Assistant' dialog has it too:

!['Regex Assistant' dialog is correct too](https://user-images.githubusercontent.com/5751684/55425460-89d9ae80-5550-11e9-91f8-35ed0b3fc6b3.png)

As does the 'Rename' box:

!['Rename' dialog](https://user-images.githubusercontent.com/5751684/55425515-aa096d80-5550
don't take my saltiness as saying anything meaningful about swagger
the question is more about the maintenance - there are different solutions out there that supposed to keep the doc automatically in sync with the code changes
hey @user10792291 - I'm just looking at your recent question on SO -- you'll want to edit it to include the actual error, and whether the myFile variable contains a legal existing file name. Side note, I'd recommend capturing the returned Workbook object into a local variable: Set wb = Workbooks.Open(myFile), that way you can work with wb instead of working out which object in the Workbooks collection is the workbook that was just opened.
6:22 PM
@MathieuGuindon I'm not even sure whether that pings them, you know?
it does come up on autocomplete
"The new loading system introduces a potentially massive range of edge cases, as the extension can now be loaded at any time by the IDE, potentially very late in the session"
Hey, who knew - the VBE had an async loader years ahead of VS, apparantly ;-)
confused where does it says VBE?
and I bet it makes no mention of it loading its add-ins before the VBProject is even ready to be accessed
oh wait, that's VS2019
I take it that R# will be loaded a bit later, making the startup a bit less painful
6:35 PM
more likely it'll just make VS2019 feels slow
> Another change introduced in VS2019 of a more controversial nature is the new Extensions menu. From VS2019, extensions are no longer allowed to create their own top-level menu inside VS. Instead, all extension menus are grouped together in a separate menu where they can no longer be accessed through a single mouse-click or shortcut key. This affects us significantly, as it does other productivity centric extensions (i.e. ReSharper, CodeRush, JustCode, etc).
Looks like RD made the right call (not that it matters since it's VBE, not VS but still)
nah the VBE equivalent would have been to shove our top-level menu under "Add-Ins"
oh yeah that's right
I wonder... @MathieuGuindon @M.Doerner @this do we still need the Experimental attribute?
I broke that a few major releases back and I'm considering picking it up now...
hmm, you know what, we probably don't
curing it wouldn't hurt though
@this No.
6:45 PM
but killing it wouldn't hurt either
so... cure or kill :)
why d'you think I'm pinging this many people?
@this What are you trying to do? VS has stuff to support this built in.
@Vogel612 thinking it stuck around because we said maybe it would be useful for the eventual custom code panes... but then, it's probably better to just make a setting for it (we'll want that setting anyway)
@this heh sorry was an attempt at humour. The new VS2019 loader is causing headaches to extension writers due to its nondeterministic timing. Just sounded familiar :-)
Well, the idea was we could mark anything as experimental.
Then anything could be toggled on/off by the user, and just sticking that attribute on would handle it, make it show up in the settings, etc.
IIRC, I put that in.
It was thought we could stick it on inspections, refactorings, anything.
7:01 PM
@this Yep already added my vote on the "Please rethink this" UV
Personally, I'm glad they have to keep their hands to themselves as far as the toolbar goes now.
hmm, I despise it being hidden away...
Maybe they should just enforce that addin writers support both?
Not liking the title bar change, or the start dialog. The former is fixable in Options, the latter I think I need to hack at the registry.
Nice splash screen though :-)
I like both, TBH. It's much lighter weight.
But, pretty sure you can tell the start dialog to never show.
> Of course, we understand that some users may prefer going straight into the IDE and doing what they’re used to doing to load code. We provide a way to turn off the new window in Tools > Options > Startup > On startup, open, and choosing something other than the start window. To get the old Start Page back, simply select the “Start Page” option.
7:07 PM
You can. You can also kinda get the start screen back, manually on the File menu (have to delete and readd the command). But the dev news feed doesn't work - says to change an Options setting that's no longer there
Oh, really?
think that option disappeared in one of the RCs
Its now just Start Dialog, Last Project or Empty
(unless my install is wonky I guess)
You're right.
7:10 PM
Well either way, I'm gonna give try it as my daily driver at work. I'm sure there are some actual improvements in there somewhere...
I think I can get the top-level menu back by manually recreating the entire structure manually, and adding every single R# command individually. Thanks MS :-)
I've been using it as my daily driver since day 1.
The most notable change is that 9/10 times when it goes full hang it actually recovers now.
Instead of just biting the dust.
@mansellan me too!
@Hosch250 Uh, it is day 1...
@mansellan Day 1 of the first preview release, LOL.
Oh, nice. That means C# 8 is finalized?
7:20 PM
They were going to release it with VS 2019, IIRC?
I'm going to go switch my prototype's language to that and enable non-null features in all the projects :D
Wait, you said VS 2019 is out?
I'm not seeing it on their website :confused:
odd, I grabbed it today from MS
1 sec
@Hosch250 Yeah but I wanted to know how good it was
@Hosch250 question about WPF errors.
Using resources I continually come across issues where when attempting building it's not recognizing local resources. Do you experience this?
7:36 PM
same assembly?
define "resources"
.resx files?
<Window x:Class="XAMLBuildErrorExample.MainWindow"
        Title="MainWindow" Height="450" Width="800">
        <!--<local:MyDataClass x:Key="exampleResource" />-->
i changed the xmlns to see if it recognizes the change.
WPF doesn't do localization natively with .resx -- RD is cheating
7:37 PM
> The tag 'MyDataClass' does not exist in XML namespace 'clr-namespace:XAMLBuildErrorExample'. Line 11 Position 10.
Yeah, he's referring to WPF resources.
When the class is there.
Is the XAMLBuildErrorExample namespace there?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace XAMLBuildErrorExample
    class MyDataClass
Assuming that's the default namespace of your app?
7:38 PM
Something looks wrong with <local1:MyDataClass x:Key="foo" />, but I've not done WPF recently enough to know what.
Right now explicitly testing this as the book calls this same error message out, except when an event handler can't be found.
try adding at least one property?
Just because the class is there doesn't mean WPF knows how to use it. Sure you don't need a StaticResource or something?
@MathieuGuindon public int Foo { get; set; } added to class. Error remains.
7:43 PM
do you get autocomplete for a StaticResource binding on foo.Foo?
No. Nothing is recognized as a StaticResource for the binding.
also, have you tried turning if off and then back on clean & rebuild?
Clean then Build I get the error message again.
The only way I've found to eliminate the error message is to comment out the resource <local:MyDataClass x:Key="foo" /> build then uncomment.
is the clr-namespace squiggly-underlined?
@IvenBach and then it works?
Error after clean then build:
7:47 PM
project type is WPF app?
Comment out and builds fine:
Uncomment resource and builds:
@MathieuGuindon Yes, WPF app.
AFAICT all it wants is a public/accessible parameterless ctor
although, I'm not looking at a WPF app
@MathieuGuindon The book echoes that also.
@IvenBach ok yeah, that's what I meant -- so it does work
It will work if I follow the step to comment out the resource, build, then uncomment the resource to allow subsequent builds.
7:55 PM
something something build action?
yeah no that should definitely be "Compile"
I think the book has a typo. It should be "WTF"
1>------ Build started: Project: XAMLBuildErrorExample, Configuration: Debug Any CPU ------
1>Build started 4/2/2019 12:56:04 PM.
1>  No suggested binding redirects from ResolveAssemblyReferences.
1>C:\Users\cpaustell\source\repos\XAMLBuildErrorExample\XAMLBuildErrorExample\MainWindow.xaml(10,10): error MC3074: The tag 'MyDataClass' does not exist in XML namespace 'clr-namespace:XAMLBuildErrorExample'. Line 10 Position 10.
1>Build FAILED.
1>"C:\Users\cpaustell\source\repos\XAMLBuildErrorExample\XAMLBuildErrorExample\XAMLBuildErrorExample.csproj" (Build;Buil
Murphy's Law: If something can go wrong, it will. At least on @IvenBach's machine.
7:57 PM
My last name should be "HardWay". That's the only way I can get stuff done apparently.
tbh that's probably small enough of a project to make a good MCVE on SO
I still think you should have a coffee accident.
@MathieuGuindon Wouldnt that be @IvenBach 's law?
From the output window it makes me feel there's something not right.
it's like it's trying to build the xaml/baml before the C# dependency
00:00 - 20:0020:00 - 00:00

« first day (1761 days earlier)      last day (750 days later) »