« first day (2128 days earlier)      last day (1052 days later) » 

12:01 AM
RELOAD!
[AndaraCodes/FleetCommandMapEditor] 1 commit. 83 additions. 55 deletions.
[banane-io/PDB] 1 commit. 2 additions.
[banane-io/pdb-frontend] 1 commit. 1 addition. 1 deletion.
[Minesweeper] Games Played: 145, Bombs Used: 68, Moves Performed: 16905, New Users: 43
 
 
4 hours later…
4:05 AM
 
 
7 hours later…
11:13 AM
@mansellan Ah, Mr. Twain, reports of your death are greatly exaggerated!
 
 
1 hour later…
12:22 PM
Gonna do some refactoring in my Excel app. I've got some huge data classes that need to be trimmed down into smaller sets of data, then have the routines that populate said data incorporated.
Is there a handy feature of RD that will assist with this, or is this a manual copy/pasta & figure out what you just broke?
 
12:45 PM
Gives @Duga an encouraging tickle. Come on, girl, you can do it!
 
@FreeMan That would be "move member" =) ...part of it is WIP, but moving things out of classes has a number of complexities
 
So I'm on my own, at least for now. Copy that. (ba-da-boom!)
 
12:59 PM
Normally, I would do Foo.DoIt(x, y, z) but I'm wondering if anyone else has run into a case where this syntax would be preferred?
With Foo
  .Bar = x
  .Baz = y
  .Bizz = z
  .DoIt()
End With
(the case here is that all parameters are optional, but different use cases requires different set of parameters and I have to avoid overloading)
 
@this if bar/baz/bizz are only useful in DoIt, then they should be parameters? If they're useful instance state (mutable?), then it's fine =)
 
It's more that I can't have a DoIt(bar) and DoIt(baz, bizz)
 
and I might need DoIt(bar, bizz)
 
Named optional arguments?
 
1:05 PM
I could create a DoIt1, DoIt2, DoIt3 but....
that's what I'm doing ATM. But it's now about 10 arguments
Hence the uneasy feeling of doing it wrong.
 
create a class with x, y, z, foo, bar, baz, none of which much exist be populated, then DoIt sorts out what is to be done based on which elements are populated in the class instance passed in.
 
Depends what they are.. could they be config values? ^^^ that works
 
What I hate about it is that it makes for obscure API
 
Could be Private Function DoIt.ProcFooBazX and Private Function DoIt.ProcBarXY...
 
Sub DoIt(ByVal args As DoItArgs)
lol that totally reads as "dolt"
 
1:09 PM
@FreeMan I might have to do that way if I want a clear API.
@MathieuGuindon well, in fact, that's why we have "OK" button. :)
 
@this simultaneous edit/post FTW!
 
Well, if they 're private, the API is still obscure.
I think I'm doing the interface wrong; the duck's asking for battery.
 
Boss called yesterday, apparently I have one more week of work, beyond that, my 97 years old company/employer might have to let go of its IT operations.
#FunTimes
 
Oh no!
Better get a winning lottery so you could work Rubberduck full-time?
 
1:14 PM
lol I would but Lotto-Quebec stopped its operations a little while ago already
 
On a more serious note, I do hope you find a new job sooner than later should it come to that.
 
I think it would be "temp layoff"
 
At least with the pandemic, there are much more people WFH, I think.
Ah. Still have to get money in between.
Contract works, maybe?
 
@MathieuGuindon Ouch!
 
Dunno. Was thinking of registering with Services Canada and waiting it out. Tax refund is coming soon so, I'm better off than a lot of others =)
 
1:17 PM
On the bright side, more time for the Duck!! #TheresAlwaysABrightSide
:)
 
@FreeMan YES!
 
:D
 
duck time these days is close to zero tbh
 
Whatever you do, I hope it works out for the best.
I'm sure that if it comes to that, you'd have no problem landing a new job given your skills.
 
I hope so!
 
1:20 PM
Boy did I just totally misinterpret this!!!
 
What did I say?
 
I now have exactly 1 module in my Excel project
fortunately it's easy to reimport everything...
@this I'd agree!
@this ba-da-boom!
@this a legit TortoiseGit question for you: I just removed a bunch of functions from a class that I didn't mean to (at least not yet...) They came from a variety of locations throughout the class, so I don't want to just paste 'em all in at the end to restore functionality because that would be a positive diff. ATM, there's no reason for this class to be changing.
In TG's diff, there's a Use left block button. Will that simply update my currently exported code module with the original contents that git is holding, then I can reimport that one module to the project to be back where I was?
 
it shoudl say so in the top title of each pane
 
eh?
I think that if I click that button, my code moves to the right, from what git currently has stored to what is in my actual on-disk file that I'm working from, right?
 
1:36 PM
Yes, because your yellow header says "Working Tree"
btw, I find it easier to right-click the block and use options there Use this block
 
Didn't think to right-click...
OK, it did do what i expected.
 
I'd be concerned if it didn't!
 
I would too! I just wasn't sure if I was expecting the right thing...
 
BTW - you do have a bottom section
that will tell you the result of merge.
You also can use that to do some of hand editing (!)
 
hrm... So far, since I'm the only programmer on this project any of my projects, I really haven't had to learn how to deal with merges and conflicts.
I've got the very basics of git down reasonably well, but I know it'll do far more than what I'm using it for.
 
1:40 PM
Even if you're the only guy, you still have to do so to make effective use of branches
 
I'm now a big fish in my itty, bitty tiny little git pond, and I know it.
 
Time to swim downstream into a bigger lake, then!
 
yeah...
 
not that it adds to your learning, but i remember having more problems with solo-projects in git than i did with group projects, just because the owners had mandates... i got sloppy with my commits when solo.
 
hears whispers about "learn some C# so you can fix some of the bugs you've reported, FreeMan"...
 
1:42 PM
 
hrm, my Escape key only goes but so deep...
what the heck game is that from?
 
"You are a Mackinaw Trout"... is he fighting a whale in Lake Huron?
 
Odell Lake -- it was an educational game in 80s, on Apple ][. Probably was on other computers.
 
aw, did the image change? my bad. now it's a whitefish.
 
most def an Apple ][ game I never ran across
 
1:43 PM
It was saying the image was broken.
 
copy
 
It did work fine here as a Mackinaw Trout originally
 
Oh? How strange.
 
(hence the comment - Deep escape was highlighted in the original image)
I've had that before, too...
 
I'm kind of surprised nobody else apparently remember it. I thought everyone had played it during Apple ]['s heyday
IIRC, they had a bunch of educational games that they gave out like free candy... from Minnesota something.
 
1:46 PM
back to work related items... me thinks me needs another refactor. In my class I have ytdValueA and lastYearValueA. I think I need a new class that has valueA and YearFlag, then have a collection in the existing class that holds 2 instances, one for this year, one for last year.
Note: ValueA === foo. No numeric- or alphabetic-suffixed variable names have been employed in the building of this class
^This statement certified by the ASFPSNV
 
Ass Shouting From Pinnacle of ShitStorm Needs Versioning?
 
ummmm... that is some creative thinking?
American Society For the Prevention of Suffix-Named Variables
I guess really it shoulda been ASPSNV (the For should be for)
 
the importance of a good well-placed f
 
groans
 
@FreeMan you want to make another class rather than have properties for these additional variables within the existing class?
i'm making the assumption that the new class is supposed to account for "any" year's value A, as opposed to lastYear or the current year (ytd).
 
2:01 PM
Hmm how interesting. my Word seized up after I made a simple document with only 2 words, and tried to save. After forcing it to close, I got the old dialogs "trying to recover blah". I have not seen that in a while.
 
@Cyril basically yeah and yeah. I think that would be the best bet, long run. I've been running this report for 3-4 years and we've never reported anything beyond YTD and LastYearsEndValue, but that doesn't mean it won't change at some point in the future...
I've got an '@TODO for the further refactoring. I'm not going to tackle that on the first pass, though
 
I have to say, I'm not a big fan of Office's snazzy new save dialog. All it does is add another step....
 
RD Question: I've just added a couple of '@Description("") annotations & inspected. I get the full suite of Fix all in {x} options. Since there are two possible fixes (update/create the attribute or delete the annotation), which one is gonna happen if I click a Fix all?
Most (all) other inspections have a Fix or Ignore option, so the Fix All is obvious
1) Copy just in case
2) Click "Fix all in module"
3) ???
4) Profit!!!!
It appears to execute the update/create the attribute quick fix. Logical but not obvious...
 
@this you mean when you hit ctrl+s on an unsaved document?
i tell everyone to just use F12 to avoid that nonsense
 
my assumption was that it should use the first one. But yeah, I can see why we need a bit more hint when Fix All'ing
 
2:15 PM
yes, it adds more clicks, and it makes it more difficult
 
@Cyril GTK
 
@FreeMan Makes sense
 
@Cyril The bad thing is that it's becoming a trend. Others are copying this model. I hate it.
 
It does, just not obvious. Leads to nervousness of users...
what the heck does F12 do?
 
I assume Save.
 
2:16 PM
F12 opens the Save As dialog box
so if you have a new document open, you skip those extra steps that MS is trying to shove down your throat
saves you 3 clicks... of important time!
 
save it in cloud!!! IT"S SO EASY!
 
hrm... so Microsoft is changing existing, well established behavior for "reasons"? Why do I find that hard to believe?
 
i understand why they did it; there was an entire talk dedicated to it when changing to office 365
 
@FreeMan Because they put users first, are big believers in consistent and intuitive UI and being not obnoxious about pushing their products.
It's so unlike them!
 
the two key points, 1) people can't remember how to get to particular file extension, so MS will give you the list of folders you recently used, and 2) it's more friendly to things like SharePoint since it resovles addresses as folders, rather than https
 
2:19 PM
If you have to have an entire talk dedicated to changing something as simple as "Save a new document", then maybe you should rethink the changes.
 
^ ba-da-boom!
 
@FreeMan true.
"you dumb; dis simple; do i say" - every corporation
 
Really, all they have to do is add OneDrive or SharePoint to the list on the left pane in the Save As dialog. Heck they can make it top or prominent
and those who do want it, should be like, "oh cool, I can do it now! So easy!"
while the rest of us can keeping doing the saving the usual way we want.
 
carp. '@Description annotations on elements of a Type embedded in a class don't flow through to the Get`Let` functions. Nor does the annotation on the Get propagate to the Let. Makes sense, but would be super handy...
 
@FreeMan and that gets a star... and the link to you helping!
 
2:22 PM
@this but that goes against everything MS is about. Nothing, anywhere or at any time in their DNA is about making things easier for the user.
 
le sigh
 
@Cyril that's what I do. That dang page drives me nuts!!!
Here's to hoping they don't ditch the good old and proven SaveAs behavior
 
i like to relate all of this to Intuit (TurboTax); your business model is driven by making things complicated, and having others support making it complicated so they can also make money. 2004 (i believe) it was signed/mandated that by 2010 the IRS must offer a free service to do your taxes. Intuit spends billions per year to both ensure the IRS makes that difficult to find on their webpage and stifles efforts to have tax reform that would negatively impact their bottom line.
 
4 mins ago, by FreeMan
@this but that goes against everything MS is about. Nothing, anywhere or at any time in their DNA is about making things easier for the user.
 
the relative point being, MS is making things "harder" along with their competitors, and telling you it's "good for you" (e.g., having those "talks" to discuss with the users)
yarp
 
2:26 PM
 
@this omfg don't get me started
 
REALLY!??!?!?!???? has MS purchased LinkedIn?
 
i have a rant specifically about that which i use on the regular
 
at least the save as behavior can be reverted:
(same exists in Excel, BTW)
@FreeMan Yes last year or so
was displeased to see that feature sneaking in the Word....
 
Prolly' gonna go the way of Skype now. Take a good product. Attempt to extract the core features. Build your own product. Release product with inferior features and performance to poor review. Kill original product. Call it "PROGRESS!!!!"
 
2:29 PM
@this MECC <3
 
Yes, that's the company I was thinking of.
 
@Cyril just like any major corporation in any major industry. the beauty brings a slight tear to the eye.
 
in 2016, MS bought LinkedIn; in 2018, office365 integrated your MS account to your LinkedIn account (by email, behind the scenes). Since 2019, "LinkedInLearning" has existing, where people post tutorials on LinkedIn, in a pay-to-view scenario, where the most used videos are about Excel and Word. The tie-in to LinkedIn allows MS to get more data about what is being used in their programs to put in more videos, and tailor the suggestions.
 
.....
 
that fact was brought to light by microsoft when they rolled out linkedin learning
 
2:30 PM
so MS has taken a page out of FaceBook's playbook. :(
 
@this They made elementary school suck less so I fondly remember their logo.
 
yes
 
BRB, going to look at mountain cabin listing
 
haha
 
If anyone has a remote cabin that's off grid, let me know.
 
2:31 PM
@this Okay, Ted ~_*
 
wait i legitimately did not know ms owned linked in
 
LOL. Ain't going to write people nasty mails.
 
sometimes you just build things for them, no writing needed!
 
@this if you still use office 2010 you don't have that problem!
 
I just want to be Left. Alone. Untracked. Unscrutinized. Ignored. Anonymized. Is that so much to ask? Apparently it is in this twitter generation....
 
2:32 PM
@this Similar looking feature appears to be in Excel
 
you can eat your cake and have it, too!
 
4 mins ago, by this
(same exists in Excel, BTW)
 
doesn't seem to have the same effect (of I don't understand it)
 
@this people need their free products man
 
2:34 PM
@FreeMan not sure i'm following
 
I did a Save As after disabling that middle feature in the 1st image. It still showed additional places for saving, even if sign-in may be required.
Maybe since I'm on a corp network and I technically don't have to sign into OneDrive and Sharepoint on the network, it doesn't impact those save locations.
 
Not only that, the "recent" stuff almost never contains what you're looking for
 
Hmm I did speak too soon. I thought it would go away but I just checked and it didn't help. :(
 
I guess, though, I may as well start getting used to it. IT's official policy is that they're moving our network based "home drive" to OneDrive by EOY, and that they want to get everyone off of network based drives entirely and into Sharepoint by end of '21
 
I have the Auto Save disabled, show additoinal places disabled and Save to my computer by default checked. Didn't help.
 
2:38 PM
@MathieuGuindon I find it hit or miss, but mostly hit, TBF
 
stupid question - isn't onedrive essentially sharepoint now?
 
I think OneDrive saves to Sharepoint in the background, so yes.
Our corporate IT is moving everything they possibly can to "The Cloud". Heaven help us when someone cuts the T1 line leading out of the main IT building.
we won't be able to go to the web site to report the issue, we won't be able to email them about it and we won't be able to call them about it because we're already on IP phones.
But other than that, it sounds perfect!!
 
You cannot remove the "feature" to show recent folders when "saving" an unsaved document, without pressing F12 or having a QAB for the Save As dialog, to my knowledge. The features in the Options refer to what is displayed on that save-page
 
WEW! working from home
 
@Cyril Ok, BRBx2 - going to burn me an effigy.
 
2:42 PM
i get to have COFFEE at my DESK!
its AMAZING
 
@KySoto :+1: =)
 
Yeah, my work is a bit old school
 
@Cyril this was an existing doc that I was trying to SaveAs, so maybe that's a different situation.
 
Careful, some keyboards loooove coffee!
 
they dont think WFH can work
 
2:43 PM
I don't do too many new docs
 
but then... COVID-19
and here we are
 
the coffee would love the floor before it could get to my keyboard lol
its like 2 feet away
i think it may be closer to the floor than my keyboard.....
 
Although pre-COVID I was already getting 1 day/week of WFH, post-COVID ...we'll see if the company survives first
 
@KySoto Dude... that totally sucks! My college employer wasn't that old-skool back in the late-80s when I worked on the raised floor!
 
2:45 PM
I suspect even post COVID, there'll be some permanent changes.
 
Seriously, we had food and drink on the raised floor, sitting amongst all the mainframe hardware!
 
we manufacture parts for medical equipment and parts directly for DoD and then components for parts other companies make for DoD
so we have a for sure base line
 
oh. well. If you work on the mfg floor, then I can see that...
 
yeah my desk at work is TECHNICALLY on the production floor
 
@FreeMan Dennis Nedry? Is that you?
 
2:46 PM
don't want any cutting oil/swarf from the lathes or drills ending up in the coffee. Totally ruins the flavor
 
@KySoto nice! we manufacture ...suits so that PMs making TV announcements look good on TV
 
@this DDG's...
 
or sadly... human cheeto puffs
 
ah...
 
@this ah ah ah,
 
2:48 PM
I doubt Cheeto guy's sorry excuse of a suit came from us lol
 
erm... no
 
@Cyril Dennis Nedry and Count Dracula in this room? What are the odds?
 
Anyone seen my pet dilophosaurus? Dennis?
 
@this LOL
 
@this i put my money on the Count; Nedry likes to work in the dark, so no sunlight to take him out... that vampire will tear up the chunk
4:1
would be 8:1, but if he falls backwards onto him, the count will be crushed
the hand up his ass can only hold so much
 
2:52 PM
@this That's more The Count, though, isn't it?
#LateToTheParty
 
I mean, jerry nelson died, so i'm assuming someone new is the pupeteer and can hold more weight than jerry could
 
Oh, my. You're right. I had it stuck in my head as "Count Dracula" but yes, I was absolutely thinking the Count.
 
Was explaining the amusing conversation to the wife
Coulda been Count Chockula, but I don't recall hearing him laugh...
entertaining conversation = no real work getting done = day passing quickly
 
^ good kind of day
 
just googled that... apparently jerry nelson was only the voice; the same pupeteer does the body now as back then, Matt Vogel... the more you know star with rainbow trail
alright, off to take a 2-hr call and sit in a more comfy chair for the duration. have a good day folks!
 
2:56 PM
who in the world schedules a 2-hr call?
 
people desperate for human contact
 
The productivity of a call is inversely proportional to its duration.
 
they used to be 1 hour calls until C19, so people can now have actual conversations and interact
 
Interesting. As I'm doing this refactoring, I've got a lot of broken code since I've moved properties from their original location to their new location but haven't yet patched up the call/usage sites.
 
I must be an introvert then - 2-hr call would kill me.
 
mute is my friend
 
RD, however, is happily parsing the code despite the fact that the code is uncompilable and it's doing so without the warning that the code won't compile.
That's not expected...
 
Are you initiating the parsing?
or is it parsing as a result of some RD operation?
 
@MathieuGuindon that is funny!
@this I'm hitting "Ctrl-`"
man, I made a great start on my refactoring this morning, now all my energy and enthusiasm has totally petered out... :/
Maybe some lunch will help.
 
3:24 PM
@this far too much to ask.
 
Hmm I think @duga is not working at all
@IvenBach Hence me looking up mountain cabins for sale.
 
Middle of nowhere would be nice.
 
The GitHub webhook seems to time out 60% to 80% of the time.
Might be that @Duga is not fast enough.
 
Blame it on COVID-19. Everyone is doing it these days.
 
@IvenBach and in the process bringing the new virus to remote areas. Locals aren't exactly pleased.
 
3:37 PM
I thought you were an introvert and avoided people. :eyes-narrow: Have you been misleading us. Are you one of the normies?
 
LOL. I only know because I read articles about it. Lot of vacation places around the NYC are dealing with this problem right now.
It has gotten bad that some locals there will put up signs to tell them to keep out.
 
No more chanting #OneOfUs?
 
4:21 PM
:derp: It's still morning? Ctrl+Shift+F4 isn't the same as Ctrl+Shift+F8... Time to go wake up a bit more.
 
5:07 PM
Testing Question: I've got a class. It's got some properties and some methods. The theory on testing says that I create a RD testing module, create an instance of the class, populate the necessary properties with known values, call a method, then Assert if the method returns the expected result based on the known properties, right?
 
5:24 PM
@FreeMan that is the basic premise of it yes
 
thx
 
np
note that I haven't actually done unit testing in RD but I can't imagine it wasn't modeled after VS's
 
5:54 PM
@FreeMan Ensure the test fails before you see it pass. Otherwise you're not sure whether on not it actually passed.
 
I had a silly idea. If Rubberduck was made an Office add-in, could it be made to start up the VBIDE in the background?
 
@this To what end? Why would you do that?
 
right now, RD starts up as soon as you launch VBIDE
but having it open at the startup of the host application means it can open VBIDE in background so it'll be ready by time you need it.
 
So you want to slow the opening of the host instead of slowing the opening of VBE?
I don't need it to open every time. For example, RD working in Outlook but I rarely use the Outlook VBE. The same could be said for any other host application that you aren't developing for.
 
if it is synchronous, no. But it should do so asynchronously.
Yes, that's a valid point RE: Outlook
 
6:03 PM
@IvenBach well... I've already written the code, so I can't write failing tests first. Or do you mean something like x=5, y=6 then Assert x+y=10, then "fix" the test by Assert x+y=11?
 
When I ensure the test is failing Assert.IsTrue False 'actual where actual is a boolean variable. Once I see it fail then leave Assert.IsTrue actual to see it pass.
@FreeMan ^ yep. You are correct.
 
no i don't think that's what they mean by making a failing test.
you're just sabotaging the test
 
A test will fail if the class doesn't exist, or the member to be tested doesn't exist.
 
normally what they mean by failing test is set up the skeleton class or the interface so that the unit test will run but fail, then you write code. However, TBH, I have hard time doing that way because at that stage the class design is not fixed
 
As do I.
 
6:06 PM
Testing can get super crazy. You want to test for every possible thing that could go wrong. The problem is that if you knew all the things that would go wrong then your code would account for that already.
 
Therefore, for me, at least, it's important to write both positive and negative tests.
which then provides a good starting point. Once developed & established, then yes, you start writing failing tests for any bug fixes or enhancement going forward.
 
and in writing the code you only write enough to make the test pass. Then as other cases occur and the output isn't as expected, additional code is written to make that now pass; only enough to make it pass. In early development many things are known and individual tests are written to accommodate those knowns.
each one testing only one aspect of the overall expected results
I usually look for edge cases that I can write that cover the "in betweens"
 
@this will work toward that standard. On Monday.
'bout time to wrap it up for the week! :) :D
 
le sigh why you gonna be so... special, Word?
 
6:24 PM
@this its the most important office component that is why :3
also speaking of unit tests
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1
END
Attribute VB_Name = ""GridCoord2""
Attribute VB_GlobalNameSpace = True
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
why is this not getting detected as having a default instance even though I set the attribute
wait
_isGlobal = HasAttribute("VB_GlobalNamespace")
please tell me that capitalization doesnt matter
 
just use '@PredeclaredId and let RD do it.
oh c'mon! Why can't you have a hWnd, Word?!?
 
does unit testing apply attribute annotations
@this word really does seem special
also for the record
that capitalization mattered
because --of course it did-- it was matching a string literal to a string literal
 
crap
 
no, unit testing annotations aren't related to attributes
 
i tried using GetObject to regain control of an unresponsive access app
annnnnd... Run-Time Error -2147467259 (800040005)
automation error unspecified error
-____-
 
6:32 PM
if it's not responding, then GetObject wouldn't have helped you.
 
ive had it work before
im just sad because it happened RIGHT after i used the RD indenter
and before i was about to save.
and i did a LOT of edits... plus of course this is my source copy of my library code
good thing i snapshot it often
but bleeehhhh
 
6:52 PM
@theVBE-it'srightforme You set the wrong attribute to True.
To get a default instance exactly if VB_PredeclaredId is True.
 
oh, derp. its cuz i did GetObject("PathToFile","Access.Application") i just needed GetObject("PathToFile")
 
I doubt that VB_GlobalNameSpace has any effect in VBA at all.
 
EFF YEAH, it worked.
something was memory leaking after i did GetObject("Path").quit acQuitSaveAll
i think RD exploded
O_O
 
7:48 PM
@Phrancis You can ask here about writing XAML manually or using the drag-n-drop editor.
 
 
1 hour later…
9:05 PM
@this quick question if you are here - do I need to inspect the parse tree to determine the context an identifier reference is used in or can I get it from the reference itself/something in DeclarationFinder?
or anyone else who would know
i have everything working in the inspection except the ability to filter out the acceptable uses of the class name we discussed yesterday
(and enough unit tests)
 
Is @duga sick? Did she get the COVID-19?
 
9:20 PM
@this nvm i found AssignmentNotUsedInspection (ty @FreeMan for raising that issue :]) and it seems instructive
 
9:31 PM
however I don't think it is possible to figure out context without the parse tree visualizer?
or a lot of tedious debugging
 
9:56 PM
why can't you just write unit tests?
then it would prove that it works and you can then debug only the context that exists in the unit test.
 
10:40 PM
You can get the context of an identifier reference using the Context member.
Note that AssignmentNotUsed is very bugged.
 
That is interesting: To the variable 'cus' of declared type 'MSACC.OLB;Access.CustomControl' a value is set assigned with the incompatible declared type 'MSACC.OLB;Access.Control'
Ah, I see - there's nothing that makes it obvious that one derives from other in COM. I get the same thing for other control types, It seems.
But I think this is wrong: To the variable 'IDbConnection_CurrentConnection' of declared type 'msado60.tlb;ADODB.Connection' a value is set assigned with the incompatible declared type 'ACEDAO.DLL;DAO.Connection'.
The code that raises the inspection above is:
Private Function IDbConnection_CurrentConnection() As ADODB.Connection
    Set IDbConnection_CurrentConnection = CurrentProject.AccessConnection
End Function
The CurrentProject.AccessConnection returns a ADODB.Connection, not a DAO.Connection.
 
11:09 PM
I have an idea what went wrong there.
 
Would it be because of the reference priority?
 
That is my guess.
I think it is a resolver bug.
 
I will open an issue, then
 
I guess this all comes down to us not saving the qualified type name.
Actually, it might not even by the resolver but rather the COM synchronizer.
 
11:48 PM
Another interesting one....
Public Sub t()
    Dim x As Access.Controls 'CustomControls
    Dim y As Access.Control
    Set x = New CustomControls 'Implements Access.Controls, also has an enumerator

    For Each y In x '438: Object doesn't support this property or method
        Debug.Print y
    Next
End Sub
if the x is dim'd as CustomControls, it works fine. Just not as the Access.Controls interface.
 

« first day (2128 days earlier)      last day (1052 days later) »