« first day (1601 days earlier)      last day (1579 days later) » 

5:00 PM
> I wonder if I can do this with .NET Core. They have a built-in DI system. The difficulty would be whether it played nice with the Rubberduck DLLs.
 
@Hosch250 not sure if it's appropriate there but this is what I'm talking about - useful for automatically maintaining RD's GH pages: github.com/lijunle/Vsxmd
since it's a build task, it might actually belong on the RD project, not RD web project
 
No need.
 
thought so.
 
I can parse the XML myself and inject it into whatever structure we want.
I'll probably support markdown within the XML content.
 
you mean we'd write MD directly in the docs XML?
 
5:02 PM
For the inspections.
 
the project above is about transforming docs XML into a valid MD syntax for consumption by GH
 
Not for the main pages, but Mat wants each inspection to have XML docs with the website content so the docs and the code are maintained together.
The other pages will be just raw .md pages that I'll parse and turn into HTML (.md is just markdown).
Question: should we host our docs on the website now, instead of on GitHub?
Why or why not?
 
For me, the more important thing is that there's only one version of truth.
3
Whether it gets output into multiple versions is less important.
 
I prefer doing it on the website.
Then, we can take the GH one down and tell people to visit the website.
 
Sure. No problem with chucking the GH wiki pages about inspections in this case (since they 'd be now outdated)
Yeah
If we had a reason for keeping it on GH, it has to come from the same source
 
5:05 PM
Ohh, make a Feature Request page that automagically creates an issue from the website.
/jk
 
O_O
yesterday: 729 issues -> tomorrow: 39,482,492 issues
 
> If Rubberduck DLL's are built for .NET Framework, then Core won't work. If you can re-target them to .NET Standard, then Core will work fine. (We've experimented with this a lot at work.)
 
@this LOL
 
Didn't I remember reading that a .NET (Core? Standard?) can link to .NET framework DLLs?
 
> Awesome. That's not really an option ATM, so I'll do the website on .NET Standard or .NET Framework, whichever ASP.NET MVC supports.
 
5:15 PM
@this Standard.
 
cool
 
Standard is the intersection of .NET Core and .NET Framework features.
 
> The website will have to be .NET Framework, because Rubberduck is Framework. Standard isn't really a runtime, it's an SDK target, so if you target Standard you cannot use anything from Framework, even if it runs on Framework. (Does that make sense?) Standard doesn't have appropriate AppDomain stuff to do it dynamically, either.
> Yes, that makes sense.
 
Rem comments now? ;-) — Mathieu Guindon 6 secs ago
 
5:38 PM
> This "feature" is beyond incredibly dumb. We use Excel to export serial numbers from our reporting application to a spreadsheet so users can manipulate the data as they see fit.

The serial numbers are a mix of pure alpha, pure numeric or alphanumeric mix.

So when they export and there is a long serial number that is purely numeric, it converts those serials to super dumb and unhelpful scientific notation.

There is practically zero desire for this. "Scientists" who might find scientific notation useful account for less than 1% of the total workforce.
Mind, I agree that the feature is dumb. But calling them "scientists" with the scare quotes is a bit too far, I think.
 
@MathieuGuindon lol
 
@this well I'll be damned, they're going to do it at long frakken last
 
If only we could prevent Excel from "helpfully" dropping leading zeros...
 
@Hosch250 The only "weird" thing about that is Standard cannot reference Framework or Core, but it can run on Framework and Core.
You can reference Standard from Framework or Core as well.
Anyway, good luck, let me know if you need any help. We just did a huge .NET Core push for work (by 'we' I mean 'I'), so if you want to try to move it to Core, or move part of it to Core, I'm sure I can help out there. (Or with the other stuff.)
 
6:00 PM
Yeah, we'd need to move RD over, and we aren't ready for that.
Not until .NET Core 3.0 is finally released, IIRC, at any rate, because of WPF.
 
@MathieuGuindon keep in mind that was in "Planning" for months already....
 
@this and a royal PITA for millions of people since the dawn of time!!
 
IKR? I wonder what really went down in that conference when the feature was drawn up
 
alcohol
 
"ooh, we're using floats. I guess we should hide them.... Oh, I know! Scientific notation! And I suppose we could chop the leading zeroes while we're at it. Nobody needs it."
 
6:09 PM
"Hey, y'all, look at this cool feature!!!"
 
I kind of doubt it was just alcohol.
 
Pacific Northwest? Prolly other stuff, too...
 
6:23 PM
@MathieuGuindon Thanks for this: github.com/vba-blocks/vba-blocks/releases . Have you used it?
 
@QHarr just a bit.. I packaged a StringBuilder class, then emailed Tim about it, but never heard back
I really, really hope this becomes "nuget for vba"
 
I was just wondering about the Windows set up.
Did you use the msi?
 
yeah
I forked the project, but I know nothing of the dev stack and the docs are rather scarce
or were, last time I checked
 
Yes, the scarce bit was what had me run here
 
I'm hoping to get Blackhawk to email Tim shortly
Hey Blackhawk - I've tweaked this code a bit and uploaded it on GitHub, and I don't know if you saw Tim Hall's VBA-Blocks, but I think it would be awesome to have a StringBuilder class available through a nuget-like package manager for VBA (and Rubberduck might eventually craft a UI for it, so packages for a project can be add/updated/maintained, all in the VBE). Would be awesome if you could contact Tim to agree with what I've done with your code (or I can take down that repository if you prefer) - LMK! — Mathieu Guindon 13 mins ago
 
6:27 PM
Nice
UI would be awesome.
 
IKR!
but it needs more offering
 
:-)
 
and if it's all just Tim's packages, then... I mean, it's still nice, but wouldn't be half the revolution it could be
 
what I can't tell from looking at vba block website if Tim solved the namespace problem
rather, lack of namespace
 
he didn't. he's veto'ing every package
 
6:28 PM
TBH I can't see revolution starting without having solved that
 
there aren't 20 ways to do this: you can't have a Dictionary class that isn't VBA-Blocks' Dictionary class in your project if you're going to use VBA-Blocks' Dictionary package
 
In theory, add-ins / library files should solve that but in practice, they aren't practical for widespread distribution.
No, I don't think that'll be a problem. Obviously it would be silly to have 2 implementations of same thing
 
the role of RD would be to maintain a manifest file tied to the project/repo
i.e. the list of packages to include (and version)
I wonder if packages have a Platform property or something. so far everything is cross-platform.
 
What will be a problem is when you need to use different implementations that won't collide WRT the naming of the functions.
 
one more reason to package classes rather than modules
i.e. stay out of global scope
 
6:32 PM
that can only go so far.
 
far enough
I could package my progress indicator class+form
the logger classes & interfaces
 
and you're now polluting the global scope with 2 more objects....
same thing.
if they were put in a VBA project, you could expose only the outgoing interface
 
well, that's life. we don't have namespaces.
 
No, we don't but we do have VBA project.
IOW, my pipe dream is an ability to create a DLL that loads as a VBA project.
 
I think Tim's solution is fine
 
6:35 PM
and have it compile a bunch of VBA code into a DLL.
 
pipe dream is right ;-)
 
Hey hey, RD was once a pipe dream!
Betcha you that 5 years ago, people would be saying "you can't hijack Msgbox!"
 
Your manager is the stuff Dilbert is made of. You can quote me on that. Please do. To them. — Wesley Long 3 hours ago
 
7:15 PM
ARGH:
Pivot_Sheet.PivotTables(PivotName). _
ChangePivotCache ActiveWorkbook. _
PivotCaches.Create(SourceType:=xlDatabase, SourceData:=NewRange)
0
Q: Why is the invalid procedure or call error occurring on the change pivot table range line?

t.moIs the issue with the changepivottablecache line? I have tried to this workbook, but I am able to execute the line to refresh the table. I have looked at several fixes online but none work as expected. Dim Data_Sheet As Worksheet Dim Pivot_Sheet As Worksheet Dim StartPoint As Range Dim DataRan...

 
7:38 PM
@FreeMan my thoughts exactly =)
 
i dont get it
whats so argh
is it the active workbook thing?
 
@KySoto The fact that you can't see it easily makes it the upper case ARGH.
Look really close...
 
did i guess it correctly?
 
Nope.
 
i know little about excel
i dont see the error
especially pivot stuff
 
7:50 PM
> ChangePivotCache ActiveWorkbook. _
That .?
 
^
That's just evil in VBA.
 
Or the space before it, or something.
I think that was supposed to be a Sub call.
 
i never use line continuations as you guys have mentioned
oh
yeah that would do it
 
LOL, and I don't VBA :D
 
I use them every now and then, but not to make a chain of member accesses look like that.
At very least, indent them after the first.
2
 
7:52 PM
so the create method doesnt return anything?
 
VBA is not meant to be "fluent".
 
Pivot_Sheet.PivotTables(PivotName).ChangePivotCache
                 ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=NewRange)
ish
whatever. needs a local variable for the created pivot cache
Set cache = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=NewRange)
Pivot_Sheet.PivotTables(PivotName).ChangePivotCache cache
 
Dim cache As PivotCache
Set cache = Pivot_Sheet.Parent.PivotCaches.Create(xlDatabase, NewRange)
Pivot_Sheet.PivotTables(PivotName).ChangePivotCache cache
^ish
Is there already a feature request for redundant named arguments?
 
not yet
 
They're only really "required" if you supply them out of order.
IIR they always cause late binding.
Could be wrong about that though.
 
8:06 PM
I doubt that, but can't say I'd be surprised
could be a fun quickfix to implement
 
Depending on the inspection, it shouldn't be that hard.
 
been giving some thoughts about the null-object pattern in SCP/AC, ..and I think I'm preferring it to TryThing.
 
Harder would be going from something like func(foo:=x, bar:=y) to func(x, Empty, Empty, y).
 
@MathieuGuindon SCP/AC?
 
Not sure I'd trigger an inspection for that though.
The main problem with the null-object pattern is that it can hide errors. Most of the time if I don't have a null check, I'd prefer the NRE to a NOP.
 
8:17 PM
@FreeMan You might be able to polish it (as Adam and Jaime has proved) but you can't pivot it.
 
well the thing is that IMO in this case it's perfectly clear & warranted what null stands for, i.e. "don't process the keystroke", and there's no way in hell it could ever lead to a NRE. spending the effort to refactor it all to get a bool instead, would give exactly zero benefit (again IMO), since in case of unexpected/buggy behavior you'd just get a false instead of a null object, and wouldn't be in any better position to know what happened than if you hadn't refactored
 
@this that would only work for hosts that can open multiple projects at once though iiuc?
 
@Comintern Just to look it from the other side --- how many times have you done this: MsgBox "Hi!", "World!"?
@mansellan is there a host that can't? Besides, remember the discussion RE: standalone project? They did it before, so it can be done.
 
@this Zero?
 
@this doesn't Access only work with a single project at once? Outlook? PowerPoint?
 
8:23 PM
@Comintern In this case, I salute you. I unfortunately have screwed that up and not only with MsgBox - Optional parameters with commas can be evil.
 
I thought Access (for example) was one project per session? The standalone project was just a subset of what vb6 does brought into an expensive office sku.
 
I'd guess Word and Excel are more the exceptions than the rule for multiple projects.
 
For me it's preferable to write MsgBox Prompt:="Hi!", Title:="World!" over MsgBox "Hi!", Title:="World!"
Nope- @MathieuGuindon, @mansellan, @Comintern Access can and do load multiple projects
Ditto about Outlook and PowerPoint, though.
 
#til :-)
 
Huh, TIL.
 
8:26 PM
^
 
SSMS Lite? SSMS LEGO?
 
eh. Don't confuse Access database with Access the application builder.
Two products rolled into one package.
 
@Hosch250 Self-Closing Pairs / Auto Complete
yeah it's really Access database and Bob the Builder. two different things.
 
Most of criticisms are about Access database engine, not the application builder per se.
 
8:28 PM
Can we query it? YES WE CAN!
 
lol
 
Afaik there is nothing that the office dev editions could do that could not be acheived with normal office plus vb6
 
except for 64-bitness
 
^ And running in an MTA.
 
dev edition predates x64 hosts, no?
 
8:30 PM
By lots yes
 
RE: powerpoint - it looks like it can do mulitple projects
 
uh, looks like we don't have the same definition of "multiple projects"
 
Huh.
PP's VBE needs a code slide show feature.
 
aren't add-in usually loaded as a 2nd project?
 
hmm, that's right
never knew what to code in PPT, let alone what a PPT add-in would do
 
8:32 PM
how you will add the other project does differ from host to host but I think by definition, if an office host can do add-in, it must do multiple projects.
 
makes sense
Sage300 then
 
Non-native add-in.
 
Yeah, those wouldn't even load as a VBA project
just as a plain old reference with an entry in OB
but what really really bugs me is that they made this stupid decision to tie the references to the host's file type
wanna a library of VBA code? Gonna be in host's file type! Can't cross-reference! MWAHAHAAHAHA!
 
I can understand it - why would Excel need to know how to open a .dotm file for example.
 
I grant that point but why not just a filthy DLL?
 
8:35 PM
@Comintern iirc (afk) vb6 can run in mta?
 
that's why I think that in theory if someone got their grubby paws on the Office developer edition from 2000/2002, and reverse engineered so that we can then compile a new binary file taking in the VBA code, we can then build DLLs that can be loaded by any VBA host using code written in VBA.
@mansellan it can build mta application but itself runs as MTA?
 
@mansellan I thought it was restricted to STA, but people had clever hacks to break out of the apartment. I could be mistaken though.
 
@Comintern I think maybe it depends on project type - seem to recall activex projects can be mta
 
Yes it can be
 
isn't VB6 MT pretty much like being handed a bazooka without a sticker that says "point this side toward target"
 
8:39 PM
I would think so, given that practically nobody knew about that capability.
 
@MathieuGuindon Any more than C?
 
It was the very last new feature introduced to classical VB
 
Oh yeah, that's right. A non-MTA ActiveX component would really suck from the consumer's standpoint.
 
I wouldn't be surprised that it turned out to be unstable or something
 
@Hosch250 does C have thread synchronization mechanisms? locking?
 
8:40 PM
I have no idea. Locking, I think.
 
@MathieuGuindon Close. There isn't a sticker.
 
@MathieuGuindon Yes, provided that you have done all the work yourself.
or imported in someone else's work in that area.
 
hence, nobody ever knew about MT in VB6
 
In Windows at least, you can use the API to do some of the thread synchronization work.
 
Yeah, C has mutex and some basic synchronization, it looks like.
 
8:42 PM
@MathieuGuindon it has a sticker, but it reads "point this side towards own foot'.
 
@Comintern bad image. make that a boomerang lined with razor blades.
 
@MathieuGuindon Well, the weapon ones don't come back. Just the stunt ones.
 
Sarlac pit with a sign that says "Watch your step".
 
@Hosch250 so Zelda has been lying to us all the time along?
 
8:43 PM
^
red boomerangs go further than blue boomerangs. right?
 
@Hosch250 You wouldn't want the weapon ones to come back anyway. Remember that scene in Road Warrior?
 
I think it's the other way around
 
@Comintern No.
 
been so long
 
at least that's how it was in older games.
 
8:45 PM
@this No idea.
 
Guy tried to catch the razor boomerang and lost all his fingers.
 
LOL.
 
blue > red usually.
Unless they changed it up in those fancy-pants consoles.
 
except for rupies
green < blue < red
 
uh, wow. I don't remember green rupees. I didn't go any further than SNES.
in NES, you had flashing yellow/blue rupee < blue rupee
 
8:47 PM
I had A Link to the Past in mind though
Zelda III / SNES
 
@MathieuGuindon You mean puns were invented back then already?
 
was that the one where you had a time thingy that teleported you between dark/light version of the world?
 
never worked out what color rupies were on NES
@this the magic mirror, yes :)
 
Got to reboot for the VS 15.8 update. Pray for me ;P
 
yeah, didn't play that but watched others play it.
 
8:49 PM
also the hyrule palace guards... green armor were the weakest, blue armor a bit stronger, and red ones a bit more still
 
Reboot? Mine just restarted VS.
 
@MathieuGuindon and pulling hte trigger while lookin down the tube?
 
@KySoto that
 
@MathieuGuindon hmmm. then it might have been changed for boomerangs, too.
 
now that I think of it, I don't recall whether there was a second boomerang in Zelda III
I know there were 2 in the original Zelda though. I think.
damn, I'm old.
 
8:52 PM
looks like we were both right - just depends on which Zelda we're talking about
 
@Comintern You are on the 15.8?
It's the hottest off the press, just out today.
It just came through a couple minutes ago.
 
huh, didn't we both update to that like, two days ago? @Comintern
 
Hmm. Sure it wasn't 15.7.8?
 
if 15.8 has C# 8 or whatever, don't make us update that, ok?
 
19 hours ago, by Comintern
Current is apparently 15.8.7, unless different editions have different versioning, but I doubt that.
 
8:57 PM
@this That's not until 16.
Oh, I'm on 15.8.8.
The last major one will be 15.9.
 
Even if it's 7.4 or 7.5 or whatever, don't.
 
C# 8 isn't coming out until mid next year, it sounds like.
 
then 15.10, 15.11, 15.12, ...15.172
 
It's going to be tied to VS 2019.
They have one of the major features in testing and pretty solid, and are finalizing the specs on the last ones.
 
well, I hope that VS 2019 will not be as bloated and slow
 
8:59 PM
That's one of the changes they are making.
I had a list somewhere.
It was pretty fun.
 

« first day (1601 days earlier)      last day (1579 days later) »