« first day (650 days earlier)      last day (2530 days later) » 

12:01 AM
RELOAD!
[Hosch250/VSDiagnostics] 6 commits. 12085 additions. 10941 deletions.
[retailcoder/Rubberduck] 5 commits. 2382 additions. 2116 deletions.
[rubberduck-vba/Rubberduck] 2 opened issues. 4 issue comments.
[Vannevelj/VSDiagnostics] 4 opened issues. 3 issue comments.
 
PredeclaredId attribute is now used by the resolver.. 3 failing tests.
 
 
2 hours later…
1:38 AM
2 failing tests
both involving With blocks
 
2:07 AM
I'm pretty sure if I fix one, I'll fix both
 
2:20 AM
woohoo!!
 
[retailcoder/Rubberduck] retailcoder pushed commit 296a7e9c to TypeInfo: all tests pass
[rubberduck-vba/Rubberduck] build for commit 296a7e9c on unknown branch: AppVeyor build succeeded
[retailcoder/Rubberduck] retailcoder pushed commit 768467fc to TypeInfo: fixed NRE in FindProjectScopeDeclaration when built-in declarations are involved.
[rubberduck-vba/Rubberduck] build for commit 768467fc on unknown branch: AppVeyor build succeeded
 
2:40 AM
Whoops, wrong room.
 
I can find all references to vbNullString and it finds them!
 
Been struggling all day to install VS 2015.
@Mat'sMug Cool.
Or rather, it installs, but a bunch of VSDiagnostics tests fail.
 
I like that there's 35 resolver tests now. I need to write a couple more (can't think of any ATM though), and then I'll be confident enough to start refactoring that Big Ball of Mud
it's not like resolver tests are hard to write anyway
 
3:01 AM
okay, so the Left/Left$ functions are problematic. Left exists in over 140 places in the object models loaded by default in Excel...
 
Those 140 Lefts are properties, no?
 
yes but I don't know I'm looking for a function at that point
hmm I could fallback though
 
The property will always have a "." Accessor, the method won't
 
if only it were that simple ;-)
also the fact that Debug doesn't resolve is annoying me
Current scope is now DoSomething in thread 7
Unknown identifier in '(unknown)': 'Debug'
Unknown identifier in '(unknown)': 'Debug'
Unknown identifier in '(unknown)': 'Debug'
Unknown identifier in '(unknown)': 'Debug'
Unknown identifier in '(unknown)': 'Format'
Unknown identifier in '(unknown)': 'Format'
 
3:22 AM
fallback works
LeftB, MidB and RightB remain a mystery though
works!
oops
ugh. no, doesn't work. the inspection gets triggered regardless of the $ now
wtf
ok it does work. it's the built-in declarations' references that don't get cleared upon a reparse
 
[retailcoder/Rubberduck] retailcoder pushed commit a18c20f1 to TypeInfo: fixed untyped function usage inspection and reference resolution
[retailcoder/Rubberduck] retailcoder pushed commit 3e00ff2e to TypeInfo: fixed quickfix resource string
[rubberduck-vba/Rubberduck] build for commit a18c20f1 on unknown branch: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 3e00ff2e on unknown branch: AppVeyor build succeeded
[retailcoder/Rubberduck] retailcoder pushed commit 8bdc2154 to TypeInfo: removed obj folder from Rubberduck.Parsing project
 
3:45 AM
@Mat'sMug LeftB, MidB, RightB and InputB and ChrB?
 
yeah
also, any idea where/how I can get the docstring for members?
 
I see _B_str_LeftB in the binary
 
[rubberduck-vba/Rubberduck] build for commit 8bdc2154 on unknown branch: AppVeyor build succeeded
 
hmm hold on then
 
And _B_var_LeftB
 
3:48 AM
yup, not working.
I must be skipping it somehow
the calling convention is CC_STDCALL, right?
 
No admin rights at work. Best I can do is look at the hex :-/
 
lol
I'm only ever skipping members without a CC_STDCALL calling convention
...and that's a grand total of 0 members
I'm also skipping types for which I can't get an ITypeInfo
 
Is _B_var_Left an alias for _B_var_LeftB ?
Or vice versa?
 
shouldn't be, the two work differently
but I don't know, I'm not looking at who's aliasing who
 
@Mat'sMug is anti-aliased...
 
3:56 AM
lol
 
Boom-boom
 
have a star :)
ooooh found it
found it!: VBA.Strings._B_str_LeftB
found it!: VBA.Strings._B_var_LeftB
found it!: VBA._HiddenInterface.LeftB
let's see how it resolves...
        var matches = _declarationFinder.MatchName(identifierName).Where(item =>
            item.ParentDeclaration != null && ((item.ParentDeclaration.DeclarationType == DeclarationType.Module
                || item.ParentDeclaration.HasPredeclaredId))
              || item.ParentScopeDeclaration.Equals(localScope)).ToList();
bingo
so, MatchName returns 1 result, and ParentDeclaration is _HiddenModule, which is actually a Class... but HasPredeclaredId is false.
..and the COM reflection code isn't assigning it
            if (typeAttributes.wTypeFlags == TYPEFLAGS.TYPEFLAG_FPREDECLID)
            {
                // ...but not for long
            }
done
hmm, doesn't work out-of-the-box
no predeclaredid
dafuq
I'm starting to hate COM
3
 
4:28 AM
Meh, my original TypeInfo code ran in 18ms.... And ignored everything
 
haha
 
5:29 AM
UUUUUUGGGGGGGHHHHHHHH
    public static readonly string Left = "Left";
    public static readonly string LeftB = "Left";
what a STUPID bug
and fixed
 
[retailcoder/Rubberduck] retailcoder pushed commit b4c250c7 to TypeInfo: fixed UntypedFunctionUsageInspection
[rubberduck-vba/Rubberduck] build for commit b4c250c7 on unknown branch: AppVeyor build succeeded
 
5:57 AM
[retailcoder/Rubberduck] retailcoder pushed commit 648a7042 to TypeInfo: fixed sticky built-in declarations' identifier references
 
I'm merging
ugh
so, Application resolves, but not ScreenUpdating.
 
[rubberduck-vba/Rubberduck] build for commit 648a7042 on unknown branch: AppVeyor build succeeded
 
6:29 AM
bingo
oh this is so cool
 
[retailcoder/Rubberduck] retailcoder pushed commit 97f3be39 to TypeInfo: _Application members resolve and tests pass
[rubberduck-vba/Rubberduck] build for commit 97f3be39 on next: AppVeyor build cancelled
BUILD FAILURE!
[rubberduck-vba/Rubberduck] retailcoder pushed 52 commits to next (only showing some of them below)
[rubberduck-vba/Rubberduck] retailcoder pushed commit 49916b1f to next: fixed attribute parser to also work when there's code in the module :)
[rubberduck-vba/Rubberduck] retailcoder pushed commit 296a7e9c to next: all tests pass
[rubberduck-vba/Rubberduck] retailcoder pushed commit 768467fc to next: fixed NRE in FindProjectScopeDeclaration when built-in declarations are involved.
[rubberduck-vba/Rubberduck] retailcoder pushed commit a18c20f1 to next: fixed untyped function usage inspection and reference resolution
[rubberduck-vba/Rubberduck] retailcoder pushed commit 3e00ff2e to next: fixed quickfix resource string
[rubberduck-vba/Rubberduck] retailcoder pushed commit 8bdc2154 to next: removed obj folder from Rubberduck.Parsing project
[rubberduck-vba/Rubberduck] retailcoder pushed commit b4c250c7 to next: fixed UntypedFunctionUsageInspection
[rubberduck-vba/Rubberduck] retailcoder pushed commit 648a7042 to next: fixed sticky built-in declarations' identifier references
[rubberduck-vba/Rubberduck] retailcoder pushed commit 97f3be39 to next: _Application members resolve and tests pass
Merge pull request #1187 from retailcoder/TypeInfo

TypeInfo
[rubberduck-vba/Rubberduck] build for commit 16c548a2 on next: AppVeyor build succeeded
[retailcoder/Rubberduck] retailcoder pushed commit 0a178407 to TypeInfo: Fixes #1191
[rubberduck-vba/Rubberduck] retailcoder pushed commit 0a178407 to next: Fixes #1191
Merge pull request #1192 from retailcoder/TypeInfo

Fixes #1191
[rubberduck-vba/Rubberduck] build for commit 0a178407 on next: AppVeyor build cancelled
BUILD FAILURE!
> the inspection simply wasn't checking for array parameters. fixed now.
 
6:44 AM
look ma, I fixed a bug and wrote a test for it right away! ...looks like I'm finally learning
2
TTGTB. crap it's late
 
[rubberduck-vba/Rubberduck] build for commit 6c1a6b84 on next: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] INOPIAE pushed commit 0706e68d to next: translation: added language files for InspectionUI
[rubberduck-vba/Rubberduck] INOPIAE pushed commit 7159c354 to next: translation: added German translation for InspectionUI
[rubberduck-vba/Rubberduck] INOPIAE pushed commit 42da3609 to next: translation: added German translation to RubberduckUI
[rubberduck-vba/Rubberduck] INOPIAE pushed commit 7d3f2c29 to next: translation: changed some phrases
[rubberduck-vba/Rubberduck] INOPIAE pushed commit 10c76593 to next: translation: fixed typo
[rubberduck-vba/Rubberduck] INOPIAE pushed commit 8325c63b to next: translation: fixed some typos and phrases
Merge pull request #1188 from INOPIAE/translation

Translation
[rubberduck-vba/Rubberduck] build for commit 30298614 on next: AppVeyor build succeeded
 
7:16 AM
Holy carp Batman. Next now supports COM types and members for any installed Type Library!
2
I have 4 versions of Visual Studio installed on my work PC, and yet without admin rights, I can't run OleView. :-/
I'm going to reference the ADs library and watch what RubberDuck does with interface mayhem.....
 
 
2 hours later…
9:36 AM
in The 2nd Monitor, 7 mins ago, by Kaz
@DanPantry I just did a little google search. It looks like VBA is older than me.
@Mat'sMug Careful. If you kept that up, pretty soon you'll be writing the test before you fix the bug. The horror!
Speaking of horror, remind me to tell you guys about yesterday's interviewee. Dude was a real mess.
 
 
2 hours later…
11:33 AM
Have you guys come across B4J by Anywhere software? Apparently it is close to VB6 but runs on the java vm. I am still busy refactoring my ms-access code to catch up with good coding principles but perhaps B4J could let me upgrade my existing VBA code, rather than me having to jump to C#.
 
yeah, I think I stumbled upon it once, bookmarked it as a curiosity, and never went back to it.
 
@ThunderFrame :-) ...not perfect, but better than nothing!
 
12:14 PM
@RubberDuck reminder about yesteday's interviewee
btw. Developer Survey results 2016 are out, and it seems Visual Basic is the most hated programming language
 
12:40 PM
^^ 99% of my bookmarks are curiosities I'll never go back to...
 
> great. thx
> CodeInspector is proposing replacement of Right$ function by a String Function

`Option Explicit

Sub Test_UseOfVariantReturningStringFunction()
Dim TestVar As String
Dim lary_Temp() As String

'correct - both Right and Trim are marked
TestVar = Right(Trim(Replace(lary_Temp(UBound(lary_Temp)), """", " ", , , vbTextCompare)), 1)

'correct - only Right is marked
TestVar = Right(Trim$(Replace(lary_Temp(UBound(lary_Temp)), """", " ", , , vbTextCompare)), 1)

'wrong - Right$ is also m
 
@Duga sometimes I wish I could edit other people's github issue comments..
mostly because of markdown failures
 
12:56 PM
> @ThunderFrame internal representation over an enum is probably necessary anyways. As such localization should happen over the enum-constants.

Since the enum members only can change with a full recompile it should be possible to rely on them for localization purposes.
 
1:23 PM
@Vogel612 Fixed
So anyway, VB dude...
> Are you familiar with the term solid?
> No
> The single responsibility principle?
> Nope. Can't say I am.
 
self-taught?
 
> Okay... What's the difference between an abstract class and an interface?
> No idea
Mind you, I'm quoting.
 
Get 'em on CR, it's urgent!
 
@Mat'sMug no... get em to read some basic tutorials and then get em on CR
 
Right
 
1:26 PM
20+ years of "experience". Perpetual Jr
 
Oh wow
 
yea now why would that be .... ~cough
 
Kept talking about ado record sets and a VBA code generator that he modified.
By modified, I mean copy pasted from Code Project because "they wanted the application layered"
The worst offense:
 
Uh-huh... </unimpressed>
 
> Would you mind jotting your design for [simple exercise] on the whiteboard?
> I don't like whiteboards.
 
1:29 PM
...
> I don't do design
 
@RubberDuck no "Could I do it on paper instead"?
 
@Vogel612 No. That would have been ok, but no.
 
@Mat'sMug that's beyond "I don't do design", that's "I don't do that work thing"
 
Anyway, back to multi-threading firmware hell.
In other news...
9 hours ago, by Mat's Mug
I'm starting to hate COM
Starting to?
 
haha
 
2:37 PM
incoming blogging duck post
 
posted on March 17, 2016 by rubberduckvba

At least according to our issues list. I’ve been working on quite a lot of things these past few weeks, things that open up new horizons and help stabilize the foundations – the identifier reference resolver. Precompiler Directives And we’ve had major contributions too, from @autoboosh: Rubberduck’s parser now literally interprets precompiler directives, which leaves onl

 
2:56 PM
@BloggingDuck Hint, hint, nudge, nudge I can take a hint. VS 2013 is now installing.
 
;-)
I figured you were very very close to a PR, so I might as well hint at an upcoming blog post about it :)
 
Yeah, just not looking forward to writing tests for that thing.
And then I have to somehow set up something to show the history, which shouldn't be too hard, and then set up revert, which is probably buggy.
Actually, as a matter of fact, I know it is. It just reverts the tip, rather than a specified commit.
And then we will finally be able to close that PR. Dual effort by Rubberduck and I, although he did at least 75% of the work.
 
> also true for LTrim$, Str$, Chr$
> ugh. this one is *hard*! You have no idea the hoops I had to jump through to get this one to work again off the COM reflection declarations... which makes inspections that look for declarations that aren't user code, impossible to write unit tests for, because they require loading the actual type library to inspect the COM types and their members.

Long story short, the resolver is *supposed* to resolve `Right` to `_B_var_Right` and `Right$` to `_B_str_Right`.

Thanks for reporting this is
 
4:08 PM
0
Q: Are deliveries on time/not on time. Check box choce

BrentFairly new in VBA. I have a userform that populates a Date asks for a user, combobox 2 checkboxes and 2 option buttons. My issue is with the check boxes, I don't want to be able to check both of them. I have written logic that text to see if both are checked but do not know how get them back to...

 
4:57 PM
@Hosch250 That was a "it's good enough" situation for me. It's not designed to replace the git CLI. Don't forget that changing that changes the COM library contract.
 
Huh?
I'm going to make it work like VS's Revert.
What about the COM?
 
5:28 PM
We expose the API to anyone who wants to code against it.
 
6:13 PM
@RubberDuck well, this is 2.0.. if there's going to be breaking changes, now is the time to make them! :-)
3
 
Ah, so I need to update that.
OK.
 
6:27 PM
> I fixed some typos I made before
[rubberduck-vba/Rubberduck] build for commit 6363269b on unknown branch: AppVeyor build succeeded
 
6:43 PM
> Score: 13
Created: Jan 23 at 4:05
Clicks per day: 3.07 (166 total)
^^ SO ad stats
 
7:18 PM
[rubberduck-vba/Rubberduck] INOPIAE pushed commit 6363269b to next: translation: fixed some typos
Merge pull request #1194 from INOPIAE/translation

translation: fixed some typos
[rubberduck-vba/Rubberduck] build for commit b69df78a on next: AppVeyor build succeeded
 
7:54 PM
> Why is the Code Inspector giving these false positive errors?

Hint: Variable 'sh' is never assigned

Here is the code
`
Private Sub CreateDBfromScript()
Dim strCMD As String
Dim sh
Dim FNr As Integer

strCMD = "c:\script\createDB.bat"

sh = Shell(strCMD, vbNormalFocus)

End Sub
`
Hint: Return value auf member 'ConvertNumber' is never assigned

`Private Function ConvertNumber(ByVal Number As Double) As String
ConvertNumber = Replace(Numbe
> Looks like the resolver needs more tests...
 
8:34 PM
I'm going to try and resolve the public members of a protected project this weekend... I just need to be able to select the project node in Project Explorer....
 
FYI I still have a number of things to fix in the resolver code
I have 35 tests, I need at least 100
be it only because of the sheer number of possible execution paths
and I need to come up with a way of testing with a fake VBA standard library loaded
 
@Mat'sMug We have that with the refactoring tests, don't we?
 
do we?
I don't think so
 
I think we do.
 
the VBA std lib declarations are acquired through COM reflection since yesterday
 
8:43 PM
[Hosch250/Rubberduck] Hosch250 pushed 89 commits to BugBlipper (only showing some of them below)
[Hosch250/Rubberduck] retailcoder pushed commit b4c250c7 to BugBlipper: fixed UntypedFunctionUsageInspection
[Hosch250/Rubberduck] retailcoder pushed commit 648a7042 to BugBlipper: fixed sticky built-in declarations' identifier references
[Hosch250/Rubberduck] retailcoder pushed commit 97f3be39 to BugBlipper: _Application members resolve and tests pass
Merge pull request #1187 from retailcoder/TypeInfo

TypeInfo
[Hosch250/Rubberduck] retailcoder pushed commit 0a178407 to BugBlipper: Fixes #1191
Merge pull request #1192 from retailcoder/TypeInfo

Fixes #1191
Merge pull request #1188 from INOPIAE/translation

Translation
[Hosch250/Rubberduck] INOPIAE pushed commit 6363269b to BugBlipper: translation: fixed some typos
Merge pull request #1194 from INOPIAE/translation

translation: fixed some typos
[Hosch250/Rubberduck] Hosch250 pushed commit 9857a8e7 to BugBlipper: Super merge from next.
 
Super Mario Merge Bro
> Showing 229 changed files with 36,206 additions and 27,784 deletions.
 
can't wait to resolve the super conflicts with my local
 
> i'm not able to reproduce the "COMException unhandled" error. you might close this issue ?!
> Sure, thanks! Except, I really need to go and finish that darn CodeExplorerViewModel...
 
8:59 PM
Guess what just happened?
> Assert.Fail failed.
 
Isn't that what Assert.Fail should be doing?
 
9:16 PM
The message is funny, though.
It sounds like Assert.Fail failed to fail.
I'm mostly just copy/pasting the existing tests.
 
10:16 PM
OHAI @Mat'sMug ^.^
 
'bout time huh? :-)
 
Ikr
FWIW maybe one day I'll try BF, if I do I'll be certain to use Simon's IDE
 
@Mat'sMug Does the silent-export-attribute-discovery delete the file after it has been read?
 
Yes
 
10:53 PM
Do we have an inspection for trailing whitespace in a module? i.e. Multiple blank lines at the end of a module.
IMO - We should have an inspection for >1 consecutive blank lines anywhere in the module, and >0 at the end of a module.
 
11:06 PM
That needs a tree walker. IMO that's not an inspection, but linting, like the indenter. It could work off the VBIDE API directly instead.
 
11:25 PM
[Hosch250/Rubberduck] Hosch250 pushed commit 9cc5cb7b to BugBlipper: Changes VM Tests. I was unable to check everything because of the mock provider.
 
@ThunderFrame The VBE automatically inserts a couple at the end of the file.
 
11:50 PM
@Mat'sMug You used the built in temp files for that right? I only ask because I've seen 4 or 5 really bad reimplementations of it at work...
So much bad code. It makes me sad.
3 hours ago, by Mat's Mug
> Showing 229 changed files with 36,206 additions and 27,784 deletions.
Brave Mug.
 
@RubberDuck Got an internship opening this summer?
Just checking if you checked or not.
 

« first day (650 days earlier)      last day (2530 days later) »