« first day (1949 days earlier)      last day (1231 days later) » 
00:00 - 17:0017:00 - 00:00

5:11 PM
Hmm. Given this:
    [StructLayout(LayoutKind.Explicit)]
    private struct LParam
    {
        [FieldOffset(0)]
        public uint Value;
        [FieldOffset(0)]
        public readonly ushort LowWord;
        [FieldOffset(2)]
        public readonly ushort HighWord;
    }
does that imply it's forever 32-bit? Technically LParam is an IntPtr and therefore not a fixed size.
I'm failing to find a definitive answer to whether the high order / low order word changes between 32/64 bit
 
looks like it
could they make it 64-bit by adding a [FieldOffset(3)] public uint HigherWord?
presumably back when everything was 16-bit there was only a "lowWord" unsigned short in there
(I've no idea)
 
5:27 PM
yeah - and the fact they use word is confusing because historically it was variable sized but in actuality it hasn't been the case
e.g. DWORD is still 32-bit on a 64-bit OS
I only need to know if the high order word would be on a different position on 64 bit OS vs. on 32 bit OS or if it'll still fit a 32-bit unit anyway
 
wouldn't that break literally everything?
like, suddenly the LowWord contains both low & hi values
 
hm. you'd be right.
 
@this question: what's the current showstopper for the mocking PR?
IIRC user code can't be mocked yet?
(or not consistently)
 
given this code:
Public Sub Foo(Bar As Excel.Range)
End Sub
the TypeLib API correctly generates a TypeInfo describing this member with appropriate reference.
marshal it into .NET PIA, it goes "sorry, can't convert it"
as a consequence, the representing .NET type comes out missing this member.
 
and that's where PIA really got its name from
 
5:35 PM
Ideally, all I need to do is just fix this manual import but....
 
I know y'all aren't web guys, but do you know of any public chat roughly like this where I could talk to active web-devs?
 
1
Q: Get TypeBuilder from defined type in an AssemblyBuilder

thisBased on the other question, a Type cannot be converted into a TypeBuilder. However, we have a method that returns a AssemblyBuilder. It already has types built and defined. We can know that some types might not be correctly converted, however, there is no direct method to get to the TypeBuilder...

 
OTOH, I suppose I could wait a month until my new job. They've got some great web guys there.
 
they basically give me a builder that won't let me modify or even replace the type.
the only chat I've been in that resembles web would be the Nancy slack chat
 
5:37 PM
Not very webmaster-y if one of 3 nodes is red....
 
That's webmasters, not web devs.
 
not the same?
 
That's more like a combo between dev-ops and sysadmins looking at their homepage.
 
hmm, TBH, I think the overlap is huge
I don't actually know of webmasters who are exclusively sysops
 
5:39 PM
    Using Gmail, Facebook, Twitter, Google, or any other website which behaves like an application
    Features of browsers which are directly related to the use of a web application (Greasemonkey scripts for a web application, etc.)
 
then again there's probably a dozen chats on SO where a bunch of web devs hang out
 
Yeah, just thought I'd toss it out before I went fishing.
I want something where it's casual and people can talk about personal projects and languages and features and stuff in general.
 
Anyway, if anyone has an idea that might be less work than actually writing my own darned PIA converter from scratch, I'd be all eyes.
Given that it's holding up the core 3 transition (for different reasons, mind you), it might be a necessity anyway. Haven't made my mind up yet.
 
That question almost reads like an X-Y problem, but I don't know enough to know of what :(
 
I'm mainly frustrated that they'd hand out a AssemblyBuilder with all the types built already but not give me a way to get to the TypeBuilders.
I'm also annoyed that they provide event notifications for the conversion failure but no mechanism to respond to it, either.
all it does is "hey, look, ma, I peed my pants!"
and it doesn't even try to call the ResolveRef either....
 
5:46 PM
On another note, I was getting a bit worried yesterday. I just put 2/3 of my money in a 1yr CD, right? My family was talking about moving to SD yesterday, and I just got a new job that I can't work remote at, and I don't have any money outside of my emergency fund left (which is quite large--enough to live on for a year, but not enough to buy a place I could keep my dog at).
Apparently they aren't going to until my brothers are out of college, but that was going to screw me hard. Either I'd have to go with (fine by me--I want to move out there anyway, and it'll be cheaper if they do the heavy lifting with my stuff), or I'd have to buy a place with a crazy high interest rates and monthly payment.
But if I went with, I'd have to give up my job :(
 
@this can't help thinking this post needs some illustratory code
 
if there was some code to illustrate, I'd use it.
I suppose I can include the detail about the ITypeLibExporterNotifySink and how I get to know that there's an error but seem to be unable to do anything about it.
 
^ that would help I think
(plus an edit would bump the question back onto the home page)
 
Alright. When I have time, I'll try and update the post.
I probably should add COM tag. The question itself technically doesn't involve COM (it's purely .NET reflection, AFAIK) but who knows. Surely someone has had that problem before.
 
also if you tag with , you'll get Hans Passant to comment something along the lines of "why are you doing this? you shouldn't be doing this!"
lol
 
5:53 PM
Well, if he does, I'll just ask him "what about giving me an answer?"
it's a question-and-answer site, right? RIGHT?
 
No, it's a knowledge database.
 
but is it CC-BY-SA 3.0 or 4.0 now?
 
... in a question-and-answer format.
@MathieuGuindon no, it's DK_DC 1.0 now
 
@Hosch250 tbh SO feels more like a database of homework assignments these days
 
@MathieuGuindon I agree.
 
5:57 PM
well, it's bound to happen after you have a # of good questions answered, no?
The only way to get new good questions is to get new stuff or changes
 
Yep.
 
quick! let's make a new javascript framework!
 
@IvenBach I just read this and thought of you:
Hmm, I thought those oneboxed for some reason. Must just be the feed.
 
@this I agree. Eventually everything gets documented.
 
@Hosch250 Huh? What have I taught you?
 
6:06 PM
That's not the point.
 
@puzzlepiece87 except for those obscure questions, at least.
 
The point is, don't become a mockingbird.
Make sure you become a monk :)
 
 
@IvenBach Mind if I ask you a quick question while you're here?
 
@puzzlepiece87 Yeah. I'm just lurking in chat right now.
I don't want to become a monk. I'd rather be a coder that can get things done in a timely manner.
 
6:12 PM
@IvenBach I have 40 classes, all of which use some subset of 5 methods. If you wanted to do some setup procedure on all of them, which of these three would you do:
1. Reflection to see which subset of methods they have
2. Make them all implement an interface with the 5 methods, but make the methods empty when not needed
3. Neither
I'm not far enough along in C# to know best practices there. I was just learning reflection, for example.
 
@IvenBach you know that "code review" comic with the 2 doors and multiple expletives coming out of one? what the comic doesn't show, is the vestible with signs "<= Cowboy Hats" on one side, and "Monk Robes =>` on the other ;-)
@puzzlepiece87 reflection is pretty much a last-resort thing
 
having hard time envisioning a buddhist monk waving his cowboy and yelling "yee-haw!"
 
@puzzlepiece87 ^ I feel like that's more of a Big duck question.
 
@MathieuGuindon Good to know! Would you pick 2 or 3?
 
#ItDepends
what are the methods?
 
6:16 PM
@IvenBach I both respect your answer and tease you for feeling that way about every question xD
 
@this Pretty easy for me if you name him Rex Chessington.
 
if each method can be extracted into its own interface, that's what I'd do
interface implementations throwing e.g. NotImplementedException are a code smell
 
@IvenBach haven't seen him in a buddhist monk robe, however.
 
@puzzlepiece87 I'll keep feeling that way since my primary development isn't C#.
Although thinking about it I don't think I'll ever feel like I'm a legitimate coder.
 
@MathieuGuindon I have an ActiveFixes class with a property for each fix class, and each fix class can possibly have (I was simplifying a bit) a Setup method, a Settings worksheet property, and some others I can't remember because I'm not at my workstation since I'm on vacation >.<
 
6:20 PM
Mug. How'd you get over your own imposter syndrome? I need some tips for my own.
 
@IvenBach lol... you don't [get over it].
2
 
And instead of having 40 if (ActiveFixes.Fix1 != null) {} groups, I was trying to figure out how to have one loop that doesn't call any methods/properties that don't exist.
 
> with a property for each fix class
that's a problem
c.f. Open/Closed Principle; what if there's a new fix class, you need to add a new property?
 
That's what I've been doing xD
Since I had about 10 of them lol
 
you want to quit doing that and put them into a data structure instead
some List or array, Hashset, whatever
 
6:23 PM
@MathieuGuindon :+1: Spoken like a true #IndustryDisruptor.
 
@MathieuGuindon Sounds good, looking up C# data structures now. Thanks for winding me up and pointing me in the right direction.
Just needed a little hint to know where to go next.
 
imagine if the IInspector interface would need to be modified every time we implemented a new IInspection!
 
What? We don't do that?!?
 
But how will we know what inspections there are?!?
 
6:24 PM
#magic constructor injection ............... and yes, reflection
 
> Many client-specific interfaces are better than one general-purpose interface.
From the I in SOLID.
 
@MathieuGuindon (joking) Ah I see, reflection for thee but not for me :P
 
Coming from VBA, there's a heavy bias toward making one module do everything so it's self-contained.
You want to overcome that and accept the zen of 1000 files
I exaggerate but the idea is right - you want each "module" to do only one thing and do it well.
 
@puzzlepiece87 ah, but there's a difference between using reflection to determine whether an object contains a given method (i.e. querying its interface), and using reflectino to get an enumerable of all types in a given namespace that implement a particular interface :)
@IvenBach that's the principle by which an ideal interface has one single member
e.g. IComparable -> CompareTo
 
6:27 PM
Strive for the ideal while living in the messy real world.
 
But let's not commit the opposite error of creating an interface for every single method.
The keyword here is "responsibility"
or "scope" if you prefer.
 
yeah. once again, abstraction should be the key
 
#InterfaceAllTheMethods!
 
@MathieuGuindon Oh yes, I was experimenting with the former. Well, both.
 
6:29 PM
I think a good telltale sign is that if you're having a problem with using interface X because it needs to be in state Y before you can use it, then the abstraction is likely broken.
 
I was doing the bad one to loop through all the ActiveFixes properties to test if each one was set to an object, then the good one to see if the object had methods.
 
(not sure if that helps)
 
Jun 26 '16 at 22:06, by Hosch250
RegexAssistant (the project) targets .NET framework 4.5.2. You need to target 4.5 to be compatible with the rest of the project.
I'm getting all nostalgic today.
 
Reading the timeline, and that's a bug that would still give me trouble today.
Proud that I caught it :)
 
6:31 PM
By the way, did I understand your all's chatter correctly? Is Rubberduck switching from something to .Net Core 3?
 
2019-10-26, Rubberduck turns 5. How shall we celebrate that?
@puzzlepiece87 no, just the meta-stuff that builds Rubberduck
 
@puzzlepiece87 Not yet, but as soon as we can figure the path forward out.
@MathieuGuindon Get it to Core so I can work on it again?
:P
 
@Hosch250 The benefit of this switch is that RD will be more crossplatform?
 
@Hosch250 cool. So first you make Office run on .NET Core?
 
@MathieuGuindon Ummm, what's the pay?
 
6:32 PM
@puzzlepiece87 RD dev, yes
@Hosch250 probably pretty good, if you can relocate to Seattle WA
(probably pretty good if you can't either)
 
I bet I make more here after considering cost of living.
Actually, though, I think at least part of the Office team is in Fargo.
 
@MathieuGuindon Ah okay, cool. So you all can do everything you want in .Net Core 3? My impression was that it was kind of still catching up to .Net Framework in capabilities.
 
oh, crap, lol
@puzzlepiece87 in theory
@Hosch250 Excel product team is in Building 33 AFAIK :)
 
TBH, I like Word and Outlook and PP more than Excel.
 
now that's a low blow. PP?!!
 
6:37 PM
Yeah, it's pretty cool.
I never use Excel.
I used Word extensively in college, and OneNote.
I use PP for presentations.
But never Excel.
 
makes a grid in PowerPoint with textboxes
 
Outlook is awesome. I love the custom filters.
 
@MathieuGuindon how would one use it?
 
@this just like Excel
!
cries
 
but but I'm in the audience... I don't have the keyboard
Heck, if I'm a presenter, I'm probably holding a clicker, not a keyboard
 
6:47 PM
pfff, details
headerSheets = Array("COVER", "SCOPE", "SUMMARY", "Updated Hours EST", "RATES")
headerSheets.PageSetup.CenterHeader = "&B &12 PROPOSAL" & Chr(10) & Chr(10) & " &08 " & Filename
 
lol
 
^ @M.Doerner I've yet to update my RD build, but to your knowledge are we flagging this .PageSetup member call?
 
Jul 27 '16 at 23:21, by Comintern
Ugh. My corner cases have corner cases.
LOL.
Jul 28 '16 at 20:02, by ThunderFrame
I think it's been over a week since we had a grammar bug!
 
7:05 PM
i imagine the grammar back then was.... unrefined.
 
Any reason why a VBA macro won't write out information until after the VBE has been opened?
 
write out to where?
 
Worksheet.
dropbox.com/s/gzkno8fo2vtsi1g/… specifically the Create 50 sheets button.
Thought it may have just been a fluke but it's occurred on 3 different machines I've tested it with.
 
7:25 PM
did you enable contents?
 
Yep.
When I was creating the workbook there was no issue with it. I've not seen this behavior before.
 
i vaguely remember this happening many moons ago but ....
you're not using VBIDE API, right?
 
No. This is all internal to Excel.
It's like the WS.CodeName isn't recognized until the IDE is opened.
 
TBH I can't remember how/why. It was back when Office 2010 was new, I think.
You could try and decompile the workbook, maybe?
 
Not sure how to do that.
 
7:31 PM
(need to download a third party tool if you don't have it)
VBA decompiler, I think it's called
 
fwiw I'm finding a few gotchas in Core 3 WPF - nothing major, just silly little differences in layout handling which are difficult to boil down to an mcve. been chasing one for a couple of days now...
 
Pretty the problem isn't with core 3 but with WTF. ;-)
 
7:50 PM
@IvenBach never seen that
 
I unluckily find the marble in the oatmeal often.
 
You're like VBA's Typhoid Mary
 
Stuck in If ws.CodeName = vbnullstring then stop and sure enough stop get's hit. When the IDE opens up ws.CodeName is not vbnullstring.
I swear it's the cosmic rays.
 
> It is completely possible to change the annotation scoping yet again. However, I am a bit worried that using logical lines might degrade the performance of the resolvers. (That would have to be tested thought.)

Actually, it is really simple to determine the physical lines belonging to all logical lines. If we store the information the information about the first physical line of a logical line in a b-tree or simply in an ordered list, it should be reasonably fast to do a reverse lookup. (T
> It is completely possible to change the annotation scoping yet again. However, I am a bit worried that using logical lines might degrade the performance of the resolvers. (That would have to be tested thought.)

Actually, it is really simple to determine the physical lines belonging to all logical lines. If we store the information about the first physical line of a logical line in a b-tree or simply in an ordered list, it should be reasonably fast to do a reverse lookup. (The depth of a bi
> @MDoerner

> My main headache around this is how to prune the maybe references based on the information from deeper down in the binding path.

My first thought on reading this was "Typescript doesn't have this problem." Then I realized that Typescript forces you to typecast `(ActiveWorkbook.Sheets(1) as Chart)` in order to get `ChartArea`. And VBA doesn't have any sort of typecasting beyond assigning to a variable,.
> Just a thought - the first implementation could stop at the first translation. At that point, we would be able to generate new inspections "AmbiguousTypeResult" for unbound calls with suggestions for creating a strong-typed variables. They would have to do fix it one by one in the chain but at least it would be a first step in the right direction.
> My problem is not how to do it in VBA. My problem is that I will have to filter the list of possible resolutions (in our internal data) based on information gathered further down the resolution path. That is something that is simply not necessary right now, because of how VBA works.
> @MDoerner

> My main headache around this is how to prune the maybe references based on the information from deeper down in the binding path.

My first thought on reading this was "Typescript doesn't have this problem." Then I realized that Typescript forces you to typecast `(ActiveWorkbook.Sheets(1) as Chart)` in order to get `ChartArea`. And VBA doesn't have any sort of typecasting beyond assigning to a variable,.

If this functionality would be limited to the types of method argument
> @bclothier But if someone is used to writing in chained methods, then forcing creation of new variables is a little uncomfortable. Other languages have more natural typecasting syntax, so it makes more sense.
> > if someone is used to writing in chained methods, then forcing creation of new variables is a little uncomfortable.

I would say "just too bad". If someone is used to writing chained late-bound method calls, IMO Rubberduck's job would be to tell them "this member call here, is late-bound - you *want* a variable here".

When that someone gets used to intellisense and compile-time validation for every single one of their member calls, *they'll never look back* is what I'm willing to place
> Chained calls isn't the problem per se. The problem is when the chain includes variant/object which effectively renders the code unverifiable at the compile-time.

IMO, an unverifiable code is a bug time bomb and yes I do encourage creating a strongly typed variable.

A common pattern I see in Access is to do stuff like:

`Me.MySubForm.Form.SomeControl.Value = "foo"`

It's verifiable up to the point of `Form`, which returns an `Access.Form` which is generic and has no specific inform
 
8:15 PM
it's the implicit late binding, not the chaining, that's problematic
 
^
That's a mind-blowing lesson that RD can't quite tell people about yet
 
yeah
another one is this one:
Turning off calculation and screen updating will have little to no impact whatsoever if your code is efficient in the first place. Systematically turning them off amounts to shoving all code inefficiencies under the proverbial carpet. Don't do this. Write efficient code instead - avoiding Select and Activate being the FIRST thing to do. IOW the footnote should be the answer, and the answer should be the footnote. — Mathieu Guindon 11 mins ago
 
many people think early-bound => "I haz a reference!"
 
^
70% of respondents said late binding means CreateObject
("member calls against Variant/Object" was one of the choices)
 
hmmm a fun poll question to ask: Can you convert a runtime error into compile-time error? Yes | No
 
8:18 PM
even more fun with "should" instead of "can"
 
the problem is that "should" imply "can"
I'm thinking they don't even know it's even a thing.
 
right
hopefully "(Excel MPV book title)" readers will make it to the last chapter
;-)
hopes the thing will sell enough copies to earn me a coffee
 
Those that want to learn will make it to the last chapter.
I think of Application.Visible = False as putting a spoiler on a car. It makes it go faster.
 
@IvenBach and magenta & yellow stickers!
 
more importantly -- the racing stripes!
 
8:30 PM
lol was going to say "stripes!"
 
This is the model for us to strive for
 
lolwut
 
IRMAGOURD!!! MY EYES!
Ducky has more self respect than that.
 
I'd go with a black R8 against that clown
 
That horrendous image is going to stay on my screen now...
 
8:33 PM
actually my Sentra probably beats it
 
Must get more chat to scroll it off screen.
 
gotta love having autocollapsing oneboxes.
 
Pretty sure it's a handicap, not an asset
 
weight or air resistance?
(both?)
 
8:34 PM
both
I can't see how it'd help anything
 
:+1: F12 for developer tools and delete that image node. Problem solved.
 
now imagine following that "car" on the highway
 
I apologize profusely for profaning your eyes.
 
#KeepYourDistances
 
maybe that's the real use? Stop people from tailgating it?
 
8:36 PM
That's what a box of nails is for.
 
that might get you sued, though.
But they can't sue you for having a fugly car, right?
 
unless the huge thing stitched to the back falls on my car, then...
 
Box of nails is one of my thoughts I don't act on.
 
phew, it's out of sight
 
My what a small monitor you have mug. It's barely passed the halfway mark for my screen.
 
8:38 PM
lol my monitor is happy with landscape orientation
 
I think there are valid use cases for turning off calculation and doing things in an invisible instance.
 
4 mins ago, by Vogel612
gotta love having autocollapsing oneboxes.
@M.Doerner Definitely, but as a first resort?
 
@M.Doerner oh, absolutely! it's the constant recommending of doing that regardless of everything absolutely horrendously inefficient going on in the code that gets me annoyed :)
 
One use I have is for testing an Excel tool.
Sure, if you do not have to make several copy operations that cause tons of formulas to recalculate, it will not really help.
 
Does that include TB of workbooks?
 
8:44 PM
typically it's things like hammering a worksheet with Range member calls in a loop, like deleting rows - e.g. folks constantly recommend iterating the rows backwards (For...Next) to fix the correctness, and then address the perf issue by turning off app events, instead of using For Each to iterate the object collection, Union to merge the Range they want to act on, and then deleting the unioned range.
repetitive dereferencing of the same Worksheet and/or Range objects over and over and over
 
To be fair a lot of VBA users aren't aware of Union.
 
as if declaring a local variable couldn't possibly make things faster - but it's more code
@IvenBach fair, but the top users are, and I still see them recommending backward loops
 
That's not good.
 
Hm, I do that myself and I never had performance issues.
 
do what?
 
8:48 PM
Loop backwards to delete.
 
it works, but requires app state toggled to work well
otherwise every deletion prompts a recalc
For vs For Each is an excellent read on a tangentially related topic
 
If you just have like 3000 rows without formulas, it is basically instantaneous.
 
ok put it this way: you're starting at the bottom and you right-click on the row heading for each row you want to delete, selecting "delete".
or, you start at the top, hold Ctrl down, and left-click the row heading for each row you want to delete, expanding the selection - when you reach the bottom, you right-click the selected range and delete the rows. The former hits the worksheet many more times than the latter, and if app state is toggled off, it only makes a difference with the former - the single-delete-step way won't make any difference at all.
and if the deletion is conditional on the value of some cell and you're iterating a Range, it'll be an order of magnitude faster to iterate an array instead, and make a single delete operation on the worksheet.
but yeah, if there's nothing to recalc, then the only difference is the worksheet reads and number of member calls
#FunFacts: if you do VLOOKUP(thing, Sheet2!A1:Z10000, 26, FALSE) in not-365 Excel, modifying any cell in Sheet2!B:Y will cause a recalc, even if they're irrelevant to the lookup.
(not sure if that perf tweak shipped in Excel 2019)
 
Does this also apply to MATCH?
I never use VLOOKUP.
 
9:03 PM
no, MATCH doesn't suffer this :)
(one more reason to prefer INDEX+MATCH over VLOOKUP)
 
VLOOKUP has a range syntax and really annoying restrictions.
 
to be fair, VLOOKUP has seen a lot of enhancements in the past year (probably what lead to XLOOKUP being introduced)
 
However, I would still like to know what went through the head of the person not making exact match the default for MATCH.
 
was probably the same person that thought making Option Explicit an option disabled by default was a good idea
I suppose the era of sensible defaults came after that
 
9:19 PM
I'm half-impressed that in spite of all the malwares that was flying around, nobody managed to turn a computer into a thermonuclear warhead with everyone playing it fast and loose everywhere.
C/C++: we don't need no steenkin' type safety! VBA: we don't need no steenkin' Option Explicit!
Question: is Access the only host to create a class module based on document (Access.Form / Access.Report ) that extends the interface?
I just added a form button to a sheet in excel named Button1 and Sheet1 does not get a Button1 member.
(or maybe I did it wrong?)
 
@this Office host, probably - VBA host, can never know for sure
@this form buttons don't do that. ActiveX buttons do
"Form Controls" => Excel.TextBox
 
Ah yes
why doesn't the form controls have that behavior?
 
"ActiveX Controls"=> MSForms.TextBox
IDK. They're basically just shapes you can attach to a macro
 
but on Access, I add an Textbox, I get an TextBox1 member which is of Access.Textbox type, that also implements Access.Control. Nothing to do with forms.
Not seeing why they can't do it w/ a Excel.Textbox.
 
it's entirely implementation-dependent
they could have, but didn't
 
9:32 PM
Yeah, it just seems to me odd they'd not bother doing it.
 
Form controls in Excel can have spaces in their names
 
Probably in name of security..... through obscurity.
Well, here's the annoying thing about Access controls. You can have a textbox named My Pretty Little Textbox and that is a valid name from Access designer but within VBA, it gets a code name of My_Pretty_Little_Textbox.
then you have people naming controls Pcs. Sold, which translate to Pcs__Sold, IIRC. bleh.
 
had they gone with MSForms, Access code would have never needed that many square brackets
ttgh
 
they should never have allowed spaces, period.
but alas, it was the era of before sensible defaults
"let's allow lusers to put in spaces because they hate not having spaces!!!1!"
 
@this that's somewhat unfair to C++
 
9:43 PM
The way I recall it, type safety was something you opted into on C++
just like how Option Explicit is disabled by default, one must take discipline to use type-safe operations in C++
 
that's not strictly wrong, but modern C++ is usually written with typesafety
 
I've heard that but I was referring to the 90s.
 
because raw reference handling and similar shenanigans are discouraged in literally every styleguide
 
From the top of your head, does anybody know a VBA type with a non-parameterized recursive default member for Let coercion?
 
10:09 PM
@MathieuGuindon Do you also want module tags around examples with only one module?
 
10:29 PM
@M.Doerner good question.. at first I would have said "nah, no module would mean it's a std.module"... but then a module name (and type) is useful to make all examples clearer.. so yeah, it's probably better to have an explicit module element in all examples.
@Duga lol
 
Hi. Reading one of the Chip Cpearson VBA topics, I noticed one line of code there on this site: cpearson.com/excel/SetParent.aspx
The line: Const C_VBA6_USERFORM_CLASSNAME = "ThunderDFrame"
Any relations of Ducky's Thunder Frame? Or is this just a coincidence.
 
Our friend took his name from this class =)
 
You're kidding! :-D
 
#TIL.
 
10:37 PM
no, ..actually was ThunderXFrame
..it's a Win32 thing
 
10:55 PM
[rubberduck-vba/Rubberduck] build for commit a9f04f8a on unknown branch: AppVeyor build succeeded
 
:barf: There goes my test tonight...
 
11:20 PM
@IvenBach having trouble spelling bulb, I see. ;-)
 
Something like that. All clear given. Time to head out to class.
 
regarding the docs xml’s module attribute, I think it suffices to use just Standard, Class, and Document as valid values
No needto say Class Module, since it is already implied in the attribute name
 
11:42 PM
^ agree
(and UserForm, where applicable)
 
00:00 - 17:0017:00 - 00:00

« first day (1949 days earlier)      last day (1231 days later) »