« first day (1782 days earlier)      last day (148 days later) » 

12:01 AM
[bruglesco/FleetCommand] 1 commit. 18 additions. 4 deletions.
[Etrisa/teleportcost] 1 commit. 21 additions.
[rubberduck-vba/Rubberduck] 3 issue comments.
[Minesweeper] Games Played: 107, Bombs Used: 66, Moves Performed: 13950, New Users: 17
12:20 AM
@MathieuGuindon ^
lol I saw that movie with the kids just yesterday, was awesome
That movie was so much better than I thought it would be.
I like the out of shape Peter Parker.
Porker ;-)
it was great, felt like a living comic
12:36 AM
@IvenBach so did that build ended up building?
@MathieuGuindon To build on my work machine?
yeah, still not working?
I didn't get around to it. Had to pick duckling up from school Friday.
Today played catch up from Friday. And a bit of slacking off not getting to it.
Off work tomorrow and Wed for road trim to see my idol.
Maybe Thu/Fri.
3 hours later…
3:26 AM
@MathieuGuindon ^ I found something for you.
> Printer is coming...﻿
3:43 AM
I haven't seen it so don't get the reference.
the family words of House Stark are "Winter is coming"
1 hour later…
5:00 AM
Umm I believe “this is fine” is taken to extreme here...twitter.com/antirez/status/1120363933204873216?s=21
3 hours later…
7:35 AM
> All Online Seats Are in Use
Seats will become available after 15 minutes of inactivity. In the meantime, you can continue to browse and search.
~sigh. Obtaining academic papers is such a fucking pain
4 hours later…
11:10 AM
@IvenBach I've understood that it will make my life better, it's just been a matter of figuring out a good way to get code in/out of VBA and then of actually wrapping my head around the concepts.
I've got the first down (at least for Excel, working on an Access version of it today), and the second just suddenly started clicking last week.
11:45 AM
@MathieuGuindon You've commented multiple times about the evils of Attribute VB_PredeclaredId = True in forms giving you a default instance that's easy to abuse to your detriment.
Would it be reasonable to set that to Attribute VB_PredeclaredId = False in order to prevent one from accidentally abusing it?
Would that break anything in the way VBA expects forms to work?
Might screw up the designer I'd think. But no, predeclared id isn't evil. It's a stateful default instance that's problematic.
Also probably screws up the global Forms collection
never tried tbh
but I use that default instance to get a parameterized factory method that takes the model instance
A (perhaps optimistic) thought that hit me as I was working on exporting code from Access this morning...
Not nearly as bad as I thought... in this project, the biggest module I've written a is 55Kb .bas file. (A Tim Hall *.bas is 111k but I don't count that against my coding skills - that's just borrowing skills).
I'd have thought it would have been much worse!
git this sucker up and time to start refactoring!
where does refactoring stop and rewriting begin?
@MathieuGuindon I was referring specifically to the abuse of the default form that most VBA programmers end up using as evil, not Predeclared ID in general...
12:21 PM
Q: Export OLEObject to a folder

DirectionskyI got this code from "https://www.pcreview.co.uk/threads/how-can-i-output-the-file.2824299/" The code launches each and every OLEObject in the sheet in new image viewer window, i tried to loop through to avoid some 100s of windows, i failed to do so. I want to extract the images so as of now i w...

@MathieuGuindon: Good morning Matt. I owe you info about the 'backspace' thing. In my work computer, no problem. Office 2016. Backspace behaves normally.
It CAN be a problem with Office 2019/365 which I had on my personal devices.
12:33 PM
12:48 PM
@SonGokussj4 hm, I need to download/install 2019 & repro
Wait is it 365 or 2019?
1:04 PM
@Duga only 2 behind now
@MathieuGuindon So pessimistic.
1:24 PM
If I do
  Dim project As VBProject
  Set project = Application.VBE.ActiveVBProject
am I leaking anything because of the Application and VBE objects, or does VBA's cleanup take care of that automatically?
I remember some discussion about that, but don't recall all the details
i.e., do I need to Dim App as Application and Dim VBE as Application.VBE and New each of them up as a child of the previous?
I don't think leaking is an issue. More bigger is whether you'll trip up security alerts and whether it's the project you want.
It's for internal use, and despite 3 AVs running on our work machines, I've not had anything yell at me, so I think I'm good there.
As far as a project I want - I'm doing my best to not blow it up shoot myself in the foot.
No, not that kind of security alert - it's the one by Office itself
e.g. "Allow programmatic access to VBE" checkbox in the trust center.
but since you didn't get yelled, I guess that was already checked
for the project - if you are using Access and you do want the current file, you should use the Application.WizHook.dbVbcProject instead.
@this ah! yes, I did have to go check that when I started this last week.
that will get you the correct VBProject, even if it's not currently active. That can happen if you have some Access add-ins loaded
1:29 PM
Seems it's Office universal, since I did it in Excel, and I'm now running in Access and it didn't yell at me
Add-in free, other than the duck. I'm a purist!
duck isn't an Access add-in, either. ;-)
however, I'll look into WizHook
It's an add-in... :P
Undocumented, Will Robinson!
But you can google and there's various sites hosting a helpful PDF that explains what the WizHook does. I think you need to provide it with the key before you can use that method. But that method is guaranteed to work in all circumstances.
Unrelated: You have to admit that the robot in the clip looks well... bulky
@Duga @Vogel612 I really like the refactoring work in this PR! ...help me out here, I'm failing how it fixes the language-switching exception... does the assembly={nothing} have something to do with it?
I think what fixes the exception is replacing the inline search box with inline resx styles with a real class.
I think Vogel mentioned that the setters on the inline one are sealed.
2:23 PM
@Vogel612 Pretty sure you don't need assembly=. You can just remove that part, IIRC.
Create SearchBox component

This component replaces the search boxes in CodeExplorer and Add/Remove References dialog.
It provides a vast simplification over the preexisting use of overriding a TextBox with a
Style defined in the resources section.

Also this commit moves Behaviours into their own solution folder, though no namespace adjustments
are performed.
Replace Search box in CodeExplorer and ARRD with component

This commit also fixes #4915 by virtue of changing how the text is set
Merge pull request #4929 from Vogel612/fix/language-change-exception

Fix language change exception
That makes it impossible to update them, which the system will try on language change for all things bound to resources.
@MathieuGuindon The issue was related to how the style was setting the Tag property before
> "This leads to RD being translated about half." - that's the bit I had missed! :)
that was sealed after first use, and changing the language resulted in the thing blowing up
I was considering to write an analyzer to avoid something like this in the future, but that might be overkill
2:26 PM
I think the translation simply stopped when encountering the exception.
and I don't really have the time to work myself into that in the forseeable future
@M.Doerner yes, exactly
it's also the reason why the settings window didn't close after pressing OK for the first time, btw
Makes sense.
Unrelatedly: allergies are a frigging pain in the backside
FWIW, Roslyn analyzers working with XAML are possible, but not the "normal" way
A: Roslyn: Access XAML of a partial class from code analyzer

Jason MalinowskiRoslyn exposes an AdditionalFiles mechanism where you can specify some additional files to be passed into your analyzer which you need the content of. XAML files for what you're doing would be a perfect example. We have one Roslyn analyzer that we run on Roslyn itself that verifies that the types...

aight nevermind that, then
2:29 PM
was a nice idea though :)
it's basically a regression test, so it would've been useful
@Hosch250 it actually forces the current assembly. I though it might help work around the issue with the version string in the RD.Core.csproj.
and now it's in because it's more explicit that way :D
@Vogel612 GTK
for whatever it's worth: it didn't help :D
maybe cake will help?
2:34 PM
@this possibly, but I kinda want to work on tech-debt payments and bugs before introducing cake
also we would want a working msbuild anyways, forcing use of cake results in forcing the cake extension onto contributors, which is something I kinda dislike
oooooh that's a big bummer
exactly :)
Who knows. When the core 3 comes out - it might make msbuild issues moot.
OTOH, it might just make everything worse.
2:38 PM
It should make them mostly moot.
It should especially take care of building in VS2019
currently we're stuck on 2017, because new csproj is not supported in 2015, but Sunburst is not working in 2019
and author won't be maintaining Sunburst. Unsurprisingly since he considered it a stopgap anyway
Which is kinda the whole point of the thing. You don't want people to depend on a stopgap if you can help it
2:52 PM
Anyways, I'm back to prepping for my granddad's birthday
@Duga no I didn't #ReadFail
@this I thought cake was a lie...
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4927?src=pr&el=h1) Report
> Merging [#4927](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4927?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/63e529a2bd25f73822bcea037c83b4001b5aa800?src=pr&el=desc) will **increase** coverage by `0.04%`.
> The diff coverage is `0%`.

@@ Coverage Diff @@
## next #4927 +/- ##
@Duga not sure how CodeString relates in any way to accesibility. Why not ModifierString?
3:35 PM
@this tbh the ideal would be a ToString override... ModifierString could be a better name, yeah.
3:55 PM
[rubberduck-vba/Rubberduck] build for commit cd9e6981 on unknown branch: AppVeyor build succeeded
> The diff coverage is `0%`.

@@ Coverage Diff @@
## next #4927 +/- ##
[rubberduck-vba/Rubberduck] build for commit cd9e6981 on unknown branch: 64.51% (target 0%)
4:32 PM
@this uh, wut? I thought Muricans were Christianity-central?
@mansellan Not really.
Easter is all about chocolates and bunnies, isn't it?
So, Christianity is the majority religion here, but even then, I'd guess that it's only around 50%, and a lot only declare themselves Christian because their parents did.
@Vogel612 UK, Easter Sunday is one of only two days of the year (the other being Christmas day) where large shops are forbidden from opening.
What Hosch said. It's mostly nominal.
4:34 PM
@mansellan Such a law would get shut down very quickly here.
@Hosch250 IIUC (I may not) - the coasts are less religious, the centre, uh, more enthusiastic...
@mansellan Nope, it's by city/country, mostly.
huh, #TIL
Feh. And even so, enthusiasm isn't the best indicator.
just because they talk more about God, doesn't mean they actually pay attention.
@this That.
4:36 PM
We see various TV programmes of evangalists, assume its the norm...
@mansellan It's kind of a thing where people watch/attend church on Sunday to try to play safe with God, then go do their thing.
really, lot of people treat church as basically a social gathering.
My buddy used to live in Texas though, and kept his atheism plenty quiet. He said his neighbours would rather he admit he was an axe-murderer than an atheist...
My pastor says it's about as effective for most of them as sitting in a garage and thinking you're becoming a car, LOL.
@mansellan Some are like that, LOL, but I bet he was exaggerating a bit.
4:38 PM
a thought though - if you're an ax murderer why would you want to believe in God? As an atheist, no sweats. You're dirt once you're dead. If not, then you're going to have a little discussion about your propensity to wield an ax, no?
@this Well, perhaps, unless you're doing God's work with the axe. Plus, atheism != amoral. I wield an axe only when chopping wood. :-)
Also, #TIL axe is a UK-ism. Ax gets no red squiggly.
4:53 PM
here it's 50-50, I think
those who think they are doing God's work with an ax are more likely to be disappointed. Atheism may not be amoral but it doesn't have an objective basis for morality.
@this Uh, theism doesn't have one either... but I'll stop there, as this is not the right forum :-)
@mansellan #TIL
agreed - we'll have to agree to disagree. :)
@mansellan Very few actually practice and abide by what is taught.
5:04 PM
@IvenBach true
treads very carefully, friendship is more important than argument
I'd rather have an athiest as a friend that has a good heart than any religiously affiliated person that isn't. But that's just me.
I like that perspective :-)
5:17 PM
so i did a little test
to see if i could get another VBProject to show up in position 1 of the VBProjects collection
so it seems that no matter how i try to do it, i cant get any addon projects to show up in position 1
now, this is in access, not excel
what's at position 1?
the file's project
I'm pretty sure it depends on the order things get loaded
i.e. host/implementation-dependent
it's rare and does not happen but it can - I think the key is to open Access without opening the file, activate the add-in, then open file.
5:30 PM
i cant find a way to load a plugin/addon before the file
Or maybe when you open a file, load the add-in, close the file, then open some another file.
how do you activate an addon without opening a file?
Don't remember how but it does happen
yeah it does seem to allow you to do that
As Mat said - it's host dependent. 95%+ of the time, the first project is the file's project but you can't guarantee that.
and to be clear, I speak of Access only. I don't know how Excel does its thing.
5:31 PM
i never open files in access though
I haven't had to do programmatic stuff in Excel very often.
though with how i use access, id never run into this oddity
and they are usually one-off so I can get away with the ActiveVBProject shortcut
though as far as i know, there are only 2 people who use ANY addons in our entire company
@this Excel loads all add-ins while the splash screen is shown, i.e. before ThisWorkbook gets to be created
5:33 PM
@MathieuGuindon can they be active instead of the current file? (e.g. a case where ActiveVBProject won't return what you want?)
because I don't know if there's an equivalent of dbVbcProject for Excel.
in Excel you wouldn't be gambling... you'd retrieve the Workbook you want the VBProject for, and go Set vbp = theBook.VBProject
In most cases, the programmatic stuff are usually administrative in nature (e.g. I'm doing some refactoring or whatever) - so I do admit to use ActiveVBProject shortcut since I'm manually activating the code. But when writing code that's to be shipped, dbVbcProject is a must.
Ah, so it's an exposed property on Excel's OM. Cool.
For some reason, that's not the case on Access' OM.
that does complicate things
Interestingly, there is a Access.Module which is very very thin wrapper over the VBIDE.Module
is the project named?
5:36 PM
but they can't be substituted one for other, IIRC.
It can be but it may have a default name.
if it's named then you could dereference it by name through VBE.Projects, no?
That is assuming you know the name which may be whatever.
well, Alt+F11 and you know what name you need, no? I feel like I'm missing something...
2 mins ago, by this
it seems so wierd that the only reliable way to get the access file's VBProject is to use an undocumented function
5:39 PM
If Application.VBE.VBProjects.Count = 1 Then
    Set vbp = Application.VBE.VBProjects(1)
    ' work by elimination? exclude known add-ins' names...
End If
As an example, if I'm writing an add-in to do some programmatic changes to a file, I'd rather not have to play the "guess the VBProject name" game.
@this I can see why
you know, i dont know if there are any useful user addons for access
is there a UserVoice to add a VBProject member to whatever the host document type is in the Access OM? Database.VBProject?
the vbproject name does not even have to be the same as the file name. I suppose it is also possible to have multiple projects load.
Not that I'm aware of.
@KySoto what about field effect's SQL Editor?
the addin I mentioned is mostly in-house.
5:41 PM
A: Get the VBProject of a Database

HansUpLook in the VBProjects collection and check each project's FileName property. If a project's FileName is the current database file (CurrentDb.Name), that is the one you want. Public Function ThisProject() As String Dim objVBProject As Object Dim strReturn As String For Each objVBP...

Clever. Didn't even think of the FileName property
knowing that the VBProject.Filename getter throws if the host file isn't saved, IDK.
who's Rubberduck?
public string FileName
            return IsWrappingNullReference ? string.Empty : Target.FileName;
        catch (System.IO.IOException)
            // thrown by the VBIDE API when wrapped VBProject has no filename yet.
            return string.Empty;
that wouldn't be the case w/ Access, I think.
In Excel, you can create a blank workbook that's not saved yet, and start writing VBA code, right?
5:43 PM
I don't think Access gets a different VBIDE API than Excel or any other host
@this yeah
In Access, you must create a file first before you can start writing VBA code.
right, if Access creates the file first, #ProblemSolved
You can't get to create a database up in the air like you can w/ a workbook.
Yeah, yay for host quirks!
makes sense
@this uhhhh whats that?
5:45 PM
since we're VBIDE add-in, we have to handle all hosts' quirks.
(not sure I can call Excel's up-in-the-air workbook a quirk but it is something we have to handle)
ahh nevermind, i have it
but, why would a user (non programmer) need that addon?
ahh, didn't understand your original question. No, I can't see add-ins being used like that.
This just massively complicates the distribution.
To my mind, Access add-ins is more useful to a programmer, and isn't something you ship.
In fact, I think PowerPoint add-ins are similar in that regards
#TIL some cars come with ass warmers... My wife’s elbow activated it without me knowing. I already knew mine was hot but didn’t take it literally till now. #RoadTripDiscovery
Excel add-ins, OTOH, seems to be popular among users and programmers both; they think nothing of shipping a Excel add-in.
IDK how Word add-ins work.
so really if there is production code out there that references the vbproject (i dont really know why you would in production...) the only people who have to be careful about how they open files are devs
5:48 PM
uh, ok but if you're writing an addin why should you care how a file is opened?
@IvenBach Mine has it.
you want an addin that works anywhere, anytime, no?
It's indispensible when you park outside, and it gets to -50, and you are in dress clothes.
uhh what addin?
As I said earlier, in-house addins that you write to automate some of the tasks?
for example, I have one that is used to generate VBA stub codes for stored procedure.
5:49 PM
anything ive written to automate stuff has been out of sight for users
Same here but I don't want to deal with error just because I opened a file differently
oh you mean an addon for the devs
Yeah. Doesn't even to have be an actual add-in, either. Could be just a plain file that manipulate some other file, too.
well i didnt realize that it would open an addon's vbproject before the actual file's if you open a file, load an addin then open another file
Yeah - that's why I'm a big believer in writing robust code that works no matter how it's invoked.
5:51 PM
i do try to do that
but then theres return on effort
if the two people who have addins installed always work the same way
is it worth catching for the way they dont use it?
its a lot more time consuming to try to break it then to work the way we already do
then if it breaks, close access and re-open it, it will work
then again, i barely learned about the wizhook thing a couple of months ago vs when i set up the functions/subs that use vbproject
it's just using WizHook.dbVbcProject vs. blindly grabbing ActiveVBProject....
hell, back when i wrote that stuff i didnt have ANY addins
that can be easily found & replaced, no?
e.g. convert all reference to ActiveVBProject into GetCurrentVBProject function which will do the right thing.
id probably name the function accessIzDumb
@this I call a throwing getter a quirk of the VBIDE API :)
5:56 PM
3 hours later…
8:39 PM
9:06 PM
um, isn't sharing a database a thing?
maybe not access, ofc...
IIRC you can share an access-DB just fine
^ sure, there's always "Compact & Repair". Regularly.
It depends on what we are talking about .
an unsplit Access database is just like any other documents. Copy'n'paste. Freak out when you have multiple versions of truth
A split Access database means that you better be able to access the backend (generally via a shared network folder) which restricts you to a LAN environment.
Yeah the linked request is very vague
That's why I don't think he really understand basic CS.
9:10 PM
> Outlook is refusing to attach my 1.8GB Access database. What am I doing wrong?
Honestly, I don't see the appeal of Access. There are better engines. There are better front-end options. Sure, the two are there together, and they're near-ubiquitous. But there are better options.
Shadow IT, remember?
Yeah... bt;dt.
@mansellan I can see RAD being useful if you don't have Visual Studio and SQL Server and SSIS and SSRS deployed and under your full control :)
How quickly I forget.
9:12 PM
IIRC the whole asp-classic application I was maintaining ran against an access database
The whole point is to be able to solve business solutions without having to get approvals from bloated IT dept who doesn't give a fig for little guys, demand months and thousands of internal budgeting dollars, etc.
@this lol, that's me :)
It is definitely a thing in corporate departments who don't want to deal with IT
^ btdt
@mansellan well the appeal seems largely for less technical people who don't know better to get a pre-installed database that is quicker GUI off the ground than SQL/C# or other similar combos
9:13 PM
@this like I say, bt;dt. Got my start that way, in fact. But MS could, and should, make better shadow IT available.
I think that's what they are trying to do, with the Power Platforms at least.
LocalDB + managed code...
you misspelled Azure
9:14 PM
googles Power Platforms
that's just PowerBI, PowerApps, and Flow
oh ok
@MathieuGuindon ah yes... local is bad these days...
honestly I've used Access on a couple personal projects for a quick mockup before I had time to build it the way I wanted
IMPOV, nothing has come close to Access in the range of usability. Rewriting a software for new level is usually very expensive and a big point that many software companies, including Microsoft has the most difficulty comprehending.
Nobody wants to rewrite their overnight successful accidental-LOB application; they want to keep growing it.
@this Agreed. For small tasks, I end up staying in Access because it is minimal effort to get off the ground.
9:19 PM
I suspect the same can be said about VB6 applications, in spite of all..... quirks.
Would love to find out how many VB6 applications are still mission critical.
But that's the point, surely. Access is old, if MS want to stay relevant they need to pause on the new-shiny and consider what got them so many devs (official and unofficial) - shadow IT. Reinvent it for the 21 century. Without JS, please.
and break the backward compatibility?!?!
That can be a big issue for those who already has a 10 years-old application built.
(or more even).
Personally, I don't mind breaking some of backward compatibility but that is a big problem.
@this Honestly, yes. Put another layer in, allowing managed code. Even if it has to coexist for some years. COM was great, but it's had its time.
Microsoft is apparently schizo on that one.
@mansellan COM is still around.
Update a UI control from the wrong thread in WPF creates a COM exception.
9:23 PM
and enhanced recently ( for WindowRT and UWP, I think)
It's still there under the scenes of it all. Just buried better.
It depends on who you ask, really. One department in MS will say "down with COM!" Other will say "COM is fundamental!"
Hence, schizo.
COM is fundamental for some departments. They aren't going to rewrite Windows threading for a long time yet.
Oh, COM is not going anywhere soon. And Office is COM though-and-through. But it could do with a managed abstraction layer, for the newcomers. JS is the wrong call.
but JS runs anywhere!!!!
9:30 PM
JS sucks anywhere - FTFY.
Yea COM is terrible but it's so embedded they can't get rid of it
@MarkBalhoff Agreed, but maybe they can hide it?
They already are. It's named.... drumrolls .NET
So.... Office.Net?
9:33 PM
they could have had went forward with VSTA, you know.....
VSTO was a big flop because they basically it not-Office.
Yeah, but implementation was lacking. WTF didn't they stream it into the doc file???
e.g. you had to install a huge runtime just to run your 3Kb VSTO add-in
Who wants to put files alongside...
hence, a big flop
bizarre, they already had a vitual filesystem in the office doc format. Just, why?
9:35 PM
security, I think.
they did not want to repeat the vulnerabilities and exploits with VBA macros.
and now they're ditching AppDomains... go figure.
Managed is much easier to sandbox, iiuc
tl;dr: if MS put a fraction of their current (laudable) tooling expertise into Office, they could nail it for a generation.
some of the stuff they're shipping atm is incredible
2 hours later…
11:34 PM
@Hosch250 SoCal resident has no need of such things. I only saw 3 believe in jeezus signs while driving through old people area aka desert.
