« first day (2084 days earlier)      last day (1096 days later) » 
00:00 - 21:0021:00 - 00:00

12:00 AM
RELOAD!
 
btw for the crap MS does deserve it should be said that VS at least to me feels like a genuinely good and helpful IDE
 
[Minesweeper] Games Played: 95, Bombs Used: 60, Moves Performed: 13286, New Users: 19
 
aside from the debugging experience at times
 
12:20 AM
Hah, with the new ProjectDisplayName, we are better than the Project Explorer, which truncates filenames at 40 characters.
 
im actually getting it together thanks to the great quality of examples on lim bio liong's wp site
this is, how do we say it delicately, not super fun
think im gonna take a break to recharge so i can power through it properly
oh wait one question that should be easy
how do i get the object[] stored inside an object
so the MarshalManagedtoNative method has one parameter object ManagedObj, which is going to be the object[]
is it as easy as casting it like this: object[] prms = (object[])ManagedObj;
 
12:39 AM
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5390?src=pr&el=h1) Report
> :exclamation: No coverage uploaded for pull request head (`RemoveProjectSCWFromProjectDeclaration@433a57b`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-head-commit).
> The diff coverage is `n/a`.
> This PR should help furthering progress on #4528.
 
if (!(ManagedObj is object[])) { throw new SystemException("ParamArray custom marshaler works only with an array of objects.");
object[] prms = (object[])ManagedObj;
IntPtr[] prmPtrs = Array.ConvertAll(prms, new Converter<object, IntPtr>(GetNativeVariantWrapper));
private static IntPtr GetNativeVariantWrapper(object obj) {
        IntPtr vt = Marshal.AllocCoTaskMem(8);
        Marshal.GetNativeVariantForObject(obj, vt);
        return vt
    }
this seems to pretty solidly convert the object[] to the variant
then i get IntPtr to the copy of the variant
 
GCHandle prmHandle = GCHandle.Alloc(prmPtrs, GCHandleType.Pinned);
IntPtr prmPtrAddress = prmHandle.AddrOfPinnedObject();
IntPtr prmCopy = Marshal.AllocHGlobal(prmPtrAddress);
Marshal.Copy(prmPtrs, 0, prmCopy, prmPtrs.Length);
now i need IntPtr to this IntPtr
 
this is, for the record, the attempt before i fully try the hard way with defining VARIANT etc
I saw the Marshal.GetNativeVariantForObject and thought there would be a chance i got lucky
it should theoretically be possible i thought because IntPtr is a managed type just like object[]
GCHandle ptrHandle = GCHandle.Alloc(prmCopy, GCHandleType.Pinned);
IntPtr prmPtrAddress = prmHandle.AddrOfPinnedObject();
IntPtr prmPtrPtr = Marshal.AllocHGlobal(prmPtrAddress);
so this allocates space for a copy of the pointer
prmPtrPtr is the IntPtr I want to return
I dont know how to copy from a IntPtr to an IntPtr though
IntPtr is a managed type that serves as the class that points to a location in unmanaged
long[] ptrInt = new long[1] { prmPtrAddress.ToInt64() };
Marshal.Copy(ptrInt, 0, prmPtrPtr, 1);
ptrHandle.Free();
^ chance this works is < 5% but w/e
lets go with it
it built and ran first try!
now time for the tlb joy
[id(0x00000003)] HRESULT MultiAdd([in] int64 Items); i suppose that probably shouldnt be too surprising
oh here is the SO post that contains what the IDL should look like: stackoverflow.com/questions/40358296/…
i would say i probably do need to use the not fun approach
 
 
6 hours later…
 
4 hours later…
@Duga No laptop right now, just had a quick look on my phone
 
 
1 hour later…
@Duga TBH, I'm not sure why that duplicated variable exists at this particular point...
@FreeMan ah, found it!
@Duga also, please ignore the fact that the NewMethod still does too much...
 
2:20 PM
@Duga Not even "put it off 'til later" status?
General VBA question: I've noticed that in some of the code posted on CR, VBA is put into a Class instead of Standard module, even though it's not written as a "class". What is the benefit of doing so?
"written as a 'class'" being my understanding of the purpose - i.e. properties with getters/setters, methods that act upon them, etc.
 
I do not really agree to your definition of written as a class. A class does not necessarily have to carry state.
You can very well have a class that only performs some action.
In particular, this is common when applying the strategy pattern.
If multiple classes implement the same interface, you can just swap the implementations instead of rewiring something in the calling code.
However, I have to admit that it feels a bit redundant to have a strategy class if it does not implement some interface.
 
@M.Doerner that's why I provided my definition. I'm sure it's not particularly accurate, but it was provided to explain my perspective.
And, if I knew what the strategy pattern was, that would probably be very helpful info! :(
 
3:38 PM
@FreeMan Strategy pattern allows for a common interface to implement different behavior (or no behavior). dofactory.com/net/strategy-design-pattern
 
@SmileyFtW anything with an Interface and Implementations is considered a strategy pattern?
 
@FreeMan one example is how the play strategy is injected into an AIPlayer in Battleship
 
The strategy pattern is a specific targeted action. Suppose you want a Score(anObject) method to return a Long result of a Score. There are many ways to get it and based on the passed in object may be done very differently. THe only requirement is that it return a Long.
 
the interface says "here's your grid, here's a ship, tell me where you put that ship" and "here's the enemy grid and everything you know about it, now tell me where you're shooting" - the actual implementation for these methods depends on what strategy is used.
 
@MathieuGuindon I have leaned a great deal about OOP from studying Battleship. It seems that the Strategy Pattern occurs very frequently. Is that your experience in the development you do?
And by no mans am I an expert at it.. LOL
 
3:46 PM
Strategy Pattern is a glorified Select Case
 
But so much cleaner... <G>
 
looking at the "DoFactory" method @SmileyFtW provided , it looks like a "standard" Interface and some Implementations. At least based on my reading through to the Structural code in C# section... Am I missing something that should be obvious?
 
"DoFactory"?
 
Take a look at Gang of Four material on the interwebs and then looking at the different patterns the "differences" help clarify.
THe link I provided
 
3:48 PM
Ah got it
 
First one I cam across in a search that I had visited previously
 
Different question: When I Ctrl-space in the VBIDE looking for a function name so I can set the return value, Intellisense provides 2 options. 1 is a Function and the other is a Property. I think I understand why:
 
Ctl+space does what? I'm not much of a keyboard shortcutter
 
Within the function itself, I can call the function, assigning its result to a local variable, or I can assign something to the return value property of the function. However, outside the function definition, I can only reference the function, and can choose to store (or otherwise use) the return value of the function, but don't have "internal" access to the function "property"
Is that essentially correct?
 
Yeah though I wouldn't call it a property (even though it has the icon)
it's just a magical variable that gets returned
 
3:54 PM
@SmileyFtW Ctrl-space causes auto-complete of the currently being typed word, or it will show Intellisense if there is more than one option based on what's currently been typed
 
Learn something new every day... Guess I'm done for today! Thanks...
 
@this that's what I thought. And, since there's no difference in spelling (or casing - as if VBA cared), it doesn't matter which one I select, correct?
@SmileyFtW <--- logs out. goes home
And, of course, when Ctrl-space outside the procedure, only the procedure name with the green procedure icon appears - there is no 2nd option.
 
Actually.. am going on an errand...Later, Pond
 
@FreeMan nah, because it's semantic.
if it's LHS, it's the return value. If it's RHS or not in an assignment, it's an invocation.
but "intelli"sense isn't that bright.
 
4:10 PM
@this at least it's not Symantic.
 
LOL. Symantic's version would most likely corrupt your VBA project every time you used it!
(and proceed to tell you that it's your fault for writing crappy code)
 
or "clean it up" by summarily deleting it
heh... lady at the office just stopped by to ask about an email she got to her business account. "You've sent an Excel file. Log in here to see it."
frankly, they made a very convincing O365 login screen.
 
@SimonForsberg yea, it's a bit of a mess... the macros could probably be about as fast as the python script if the sysadmin knew what they were doing
 
@Vogel612 You add that as a comment to that commitstrip :) Perfect opportunity for RubberDuck advertisement
 
that's Mug's job :)
 
@Vogel612 @MathieuGuindon ^^
I'm very happy that his ping-name still starts with "Mat", I don't know how many times I've started to write "@Mat'sMug" just to realize that that's no longer his name.
 
@SimonForsberg done!
 
4:31 PM
@SimonForsberg Stings a little bit.
@MathieuGuindon Can you include a hyperlink in your comment?
 
@MathieuGuindon Not sure how many of those are familiar with RubberDuck, that comment might not give enough context
 
4:45 PM
Achievement unlocked: spam links in FB-hosted comment thread
@SimonForsberg that may have been by design ;-)
 
#Branding should always be on your mind Mug. "I R 2 B TEH greatest coderz! Robberduck solves teh codes 4 u."
 
@IvenBach Does it gobbles burgers, too?
 
Only on twosday. It does snarf up fries on Fryday.
 
5:28 PM
@MathieuGuindon If it's relevant and does not ask for your money, it's not spam.
 
6:20 PM
it's fun when they save objects with names like tblWIdgets.... twitches
 
@this that's W for unicode and Idgets is a typo, was meant to be IJets but the author pronounces "gif" as "jiff", so give 'em a break
 
at least it's not W1dgets versus WIdgets
 
lol
 
Sure it's not a play on words edit of Idiot --> Idget?
 
so fidget becomes...
 
6:24 PM
who knows. It's all over this SQL Server database. They didn't concern themselves too much about lettercasing...
 
"he's a fidget and fugly" well then
 
@IvenBach wouldn't that be only in Boston though?
 
mumble mumble :shrug:. My old man and I have used that phrase since forever. It predates Pineapple by 20 years easily.
 
note to self: Bostonian accent is everywhere, update dad jokes accordingly
 
I don't hear others in SoCal using it though. My dad's a special case though #OneOfAKind.
 
6:32 PM
yaaay, I'm ... semi-free
 
Submitted your thesis?
 
now only need to do: Taxes, Bookkeeping for tenants, Bachelor's thesis and an actual vacation
 
@MathieuGuindon now I'm stuck with this mental image:
 
graphics interface format. if you say with a "J" it's giraffics!
 
Why are they cutting themselves in the side of the head?
 
6:34 PM
GIF: sticks to the roof of your mouth.
 
Bang notation is hardly ever more explicit though. Square brackets wouldn't be inside the " double quotes unless they're actually part of the field name. Anyway yes, it looks like OP is treating table columns as TableDef (or whatever MyTempTble is) properties. Most likely the answer boils down to making the LHS actual valid member calls e.g. .Fields("Dangerous Goods").Value = MyRst.Fields("Dangerous Goods").Value, but I'm not posting a blindfolded answer. Maybe the valid member call is .Columns or something, no idea. OP just needs to re-type that . dot and pick an existing member. — Mathieu Guindon 1 min ago
 
Now I want some PB&Honey oatmeal...
 
@IvenBach because even they would prefer to not live in a world where this is conundrum
 
@this any hunch what the OP's TempTble might be?
 
@Cyril I'll give you that one.
 
6:35 PM
I mean, yes a bang operator would probably fix it, but that's not something I'll post as an answer
I like Gustav's "try to be more explicit - here use a bang operator" comment
 
Good grief. Spell out temp but not table?!?
 
apparently
 
What is this, typo day?
I think you nailed it, though.
It needs to be .Fields("foo").Value = MyRst.Fields('bar").Value; I've left a comment just for that.
 
looks like a typical code-18
 
@SimonForsberg there are comments?
 
6:39 PM
> I type the dot and write a member name that doesn't exist, why isn't it working?
I stand by my downvote
 
@this saw your comment... the access guy just giving a nonchalant "i don't think you can" lol
 
oh, I'm sorry. Next time I shall say "OMG U R ID10t. LEARN 2 CUD!!!1!`
 
huh, just noticed Gustav removed the tag. wth?!
 
no no no
it's now access-vba I thought we were burniating this.
hmm it doesn't have the burnination notice?
 
that was exactly what i thought
the excel-vba, word-vba, powerpoint-vba, all had it, i believe
 
6:43 PM
IDK about , the discussion was about ...I 100% agree with burning all tags
 
I thought the discussion on excel-vba had agreed to burn it all
 
eh, none of it is going to happen anyway
 
awww
 
looks like neither access nor word have the pending removal flag anymore, just excel-vba
 
never saw it on there
yeah it just doesn't make sense
 
6:44 PM
That is so wrong.
 
ffs the language is VBA regardless of what host application is running it.
and yet I get downvotes for pointing it out
 
burning excel-vba but not access-vba or word-vba is a third-ass burning
 
^
> no it's completely different! See Selection is evil in Excel, but something else entirely in Word! Different thing! What do you mean "type library"? Irrelevant details! Different language!
 
@MathieuGuindon as much as i agree with that, i would rather have each of those tags available to make for easier searching for older questions (i believe that is part of why they havent been removed completely). since we can now have "combo" tag favorites, it's not as important, but it does serve a functionality purpose beyond holding with antiquity
 
but you can search access + vba
that's much more flexible than msaccess-vba
 
6:47 PM
and you can search python+excel
@Cyril searching was brought up, yeah. I honestly don't get what the problem is.
 
i know if i search for "vba;word" i do not get all Word-VBA tags, though didn't try a + symbol for actual tags
i think my only post on meta is about that exact topic removal of tags and multi-tag searching lol
 
IDK, I search for dupes with Google
or is it searches for something else?
unanswered questions?
 
just going into SO's search; if i use [vba]+[exce] i get both tags, etc. searching just "vba" gets everything tagged as vba and some posts that include vba within the text.
when i am marking duplicates, that's generally where i use the SO-search bar, as opposed to google's
which is where i first noticed the [Excel-VBA] versus [Excel]+[VBA] issue
 
hm, the only time I use SO search is when I need to report how many posts I made in the year. I google everything else.
 
LOL, well then
 
6:53 PM
SO search sucks
> it is known
 
feature request: make SO search use google to search itself
that should be only a few hours of work, right?
 
@MathieuGuindon that she do; but that amplifies the issue with the search functionality when removing tags
@this i say 15 minutes; i think there's a template
JUST DON'T PUT IT IN AN iFRAME!
/shudder... been tehre, did that...
 
what? Don't be silly. adds marquee and center tags and tiled gif as background to the template
 
IDK, to me it's a matter of calling a cat a cat. You want VBA posts, look for posts. If VBA posts are inconsistently tagged with whoever wants a tag for their host application "VBA flavor" BS, then how it's affecting search is irrelevant: there's a language tag that's fragmented into a bunch of stupid tags that shouldn't exist.
 
i'm one of those lucky few that wasn't around for <marquee> so it being obsolete only carries forward my ignorance!
 
6:55 PM
and these tags are contributing to disseminate the notion that "Excel VBA" and "Word VBA" and "PowerPoint VBA" are different things
 
^
 
TBH that's the single most annoying thing to me
 
copy
 
SO has synonyms, right?
 
hopefully not seen as stupid... why not leave in the references for each by default, then, so you can have equivalent use?
 
6:56 PM
so excel-vba can be automagically converted into excel + vba
 
that's not how synonyms work though
 
if i have to turn on microsoft scripting runtime and microsoft outlook 16.0 library, from excel, then that limitation helps break immersion for the beginners, which perpetuates the concept of "separate langauges" despite them syntactically being identical
 
what?
 
you could automagically convert excel-vba to excel xor to vba
neither is a good substitute, though.
 
@this i beleive this was brought up, where they have a max of 5 tags on a post, so if it was at 5 with [excel-vba] being used, they would cause errors
unless i am misunderstanding the point (i took it as breaking the old tags)
 
6:59 PM
@Vogel612 that sucks.
 
@Cyril tell me, if you're automating Outlook from Excel, are you tagging that with or ?
 
why, outlook-vba and excel-vba, obviously!
 
@MathieuGuindon that wasn't tied to the tags, but to answer your question i tag excel-vba and have outlook as an additional tag; iwas additional to the "hopefully not seen as stupid" question i posted a couple lines before that statement
well, i should say "would have"; since the burninate noteice its been excel, vba, and outlook, as 3 tags
i was mostly asking about the references; is it truly that big of a memory allocation to have default references for each host?
 
See, if it's excel-vba and outlook that's much more possible tags to find any questions about Excel + Outlook emailing
is it outlook or outlook-vba? Or do I combine outlook-vba and excel? Or do I just use vba, outlook and excel?
I'd rather not play the tag roulette, thanks.
 
as long as there's a tag somewhere, other host tags are pretty much irrelevant (as long as OP mentions what host they're in if it's relevant and not obvious)
 
7:10 PM
I am done with this tag disaster. SO anyway seems to not follow through with the promise to burn the tag.
 
do anyone know if tags actually contributes to google search ranking in any meaningful way?
 
Craver might know
 
the tag with the most questions is automatically prepended to the title of the page
 
so, that would be "VBA" in most cases then
 
7:13 PM
could be a mixed bag, though.
 
will pull my question from earlier back down... not tag-related, but perpetuation of "different languages" despite identical syntax:
why not leave in the references for each by default *in the IDE*, then, so you can have equivalent use?
Is it truly that big of a memory allocation to have default references for each host?
 
because if it's outlook-vba that gets prepended, then that might help google (I'm pretty sure they split words)
whereas if it's just vba, it might hurt the search on doing something in outlook using VBA.
@Cyril I don't follow the "memory allocation" bit....
 
^ me neither
are you saying an Excel project should reference every other installed Office app, so that "VBA works the same way in all Office hosts"?
 
i don't know why i have to select my references for a module to be "microsoft runtime scripting"... does it have some type of memory allocation or what? at the end of the day, the references for microsoft outlook 16.0 library, etc., still exist, and to someone "new" those are not native, ergo are different
what was the purpose of not enabling all of them from the get-go?
 
same reason the thousands of available assemblies on a computer aren't all referenced in any new C# project?
 
@IvenBach with every Office host having a -VBA tag, we're there already
 
^ But add in all the other VBA hosts to show how redundant it is...
 
@MathieuGuindon yes, the "enable all" is a bit of exaggeration... i am curious about the big 3, word, outlook, and excel, not being default references. i have literally heard people say "you need to turn on the references so the other language can be used."
 
No no no no
that's not the language
that's the type library
 
i understand that; other people do not when they get started.
 
7:19 PM
I'm not seeing how automatically referencing Word in any new Excel project would help with anything
 
no type library means VBA doesn't know about objects like Excel.Worksheet or Outlook.MailItem
 
"if i have to do something extra, then it's not native" attitude
 
Range will still refer to Excel.Range, and will still have nothing whatsoever to do with Word.Range
 
Is that because you can automatically reference the VBIDE library when it's missing?
Is that where you're coming from?
@MathieuGuindon that's the case if it's Excel host. But if it's Access host, then the ordering and disambiguation matters.
 
@this yes. I'm saying it still matters.
 
7:21 PM
even so, I'm a big fan of two part naming just so that the code stays a bit more portable even if it's pasted into a new host.
 
yes?
the scenario that comes to mind, where i had someone verbatim make the quoted statement about it being another language, was for automating an email from VBA. the person had the outlook references dimensioned and coudlnt' figure out why it didn't work. his response, which i overheard, resolved the issue (to turn on the reference), but perpetuated the idea that they are different languages
 
@Cyril IMO the solution to that attitude isn't pampering their beliefs, but ramming the truth into their faces
 
@MathieuGuindon that is a very insensitive and hurtful statement. I'm so reporting you tot the PC police!
:p
 
> I plead guilty & proud, your honor!
 
funny as that is, the "perception > intent" mentality would still be there
 
7:24 PM
@M.Doerner SO anyway seems to not follow through with the promise to burn the tag. <-- FTFY, at least according to a fairly common sentiment
 
@MathieuGuindon reminds me of king of the hill: "dad, what do you do if someone asks you to make their steak well done?" "you ask them firmly, but politely, to leave"
 
haha
and serve it with a whiskey on the rocks
@Cyril I think I know what my next blog article is going to be now. thanks!
 
"yo, stop calling VBA a Excel VBA or Outlook VBA!"
 
uh oh
 
"I pity the poor fool who calls VBA Excel VBA, sucka."
 
7:39 PM
I love it when a plan comes together!
 
@MathieuGuindon @this When you think of the value of Null what comes to mind?
 
depends on the context.
In SQL, it's "no value"
In programming, it's "a pointer that's not initialized"
 
8:15 PM
@IvenBach NullReferenceException
IOW Nothing
but yeah, in the context of a database, it's "no value"
 
thankfully? that is distinct in programming. In VBA you have Nothing vs. Null. In C#, you have null vs. DBNull.
 
VBA really f'd that up IMO
@Duga 10!
 
@MathieuGuindon I agree RE: Empty but for Nothing vs. Null, isn't that arguably more clearer than null vs. DBNull?
TBH I find it annoying that I have to call DBNull something other than not null
(and surely that can't be just for databases.... right? right?
 
in the end it's a serialization problem
it depends on how you want to serialize certain things to the persistent storage of a DBMS
 
8:25 PM
except in XML world, you're supposed to use x:Nil (I think)
 
DBNull doesn't always mean that a value is null. It could just mean "fall back to default"
 
still... that's leaking the implementation detail.
in SQL you're supposed to use default
 
In the context of VBA-landia?
 
if you say null, it mean explicitly just that.
@IvenBach DBNull is a C# thing.
 
that would fall back to the database collation's default value for the column, would it not?
 
8:27 PM
No.
 
ohhhh, #TIL
 
given: CREATE TABLE t (id int PRIMARY KEY, foo varchar(255) DEFAULT 'foo');
 
Sorry #Words. What do you think of as Null in VBA-landia?
 
a nuisance, unless you're hosted in Access
 
INSERT INTO t(id) VALUES (1); => foo has the default value foo
OTOH, INSERT INTO t(id, foo) VALUES (1, NULL); -> foo has the null
@MathieuGuindon TBF, I very much long for nullable types in VBA... :(
Variants are most un-fun.
but that's the only way you can represent a Null in VBA.
 
8:29 PM
it exists, it's called Variant, and "no value" null is Variant/Empty!
 
No.
Empty ≠ Null
 
^ Tis true.
 
and Empty is defintiely where VBA screwed up majorly.
 
whatever. Variant/Empty should have been Variant/Null, but the Excel folks would have been confused. So they made "blank" cells Variant/Empty, but now the Excel folks are still confused, so ...net gain: complexity.
 
Yeah. I kind of wish Empty didn't exist at all. It should be an error to try to read from a Variant/Empty
 
8:33 PM
I'm trying to explain why so many properties use Variant. Null is a result when a mix of True/False (for boolean) return values.
 
huh?
 
@IvenBach a lot of it is just hackery to make a function return different things depending on how it's used
 
For the reasons why they are mainly Variants is two fold: 1) they need to conform wot Automation which is a strict subset of COM, and one of the rule is that you must use automation-compatible types. Thus, Variant for lot of primitives. 2) it's easy and fun to use when you can assign "1" or 1 or #1899-12-31# and still get the same result.
^ there's also that.
(which IMNSHO is a big code smell but....)
 
because Variant/Error is an actual possibility
 
8:36 PM
and they do return Null?
 
@IvenBach keep in mind that a Range can refer to not just one, but multiple cells - each with different fonts, interior color, text-wrapping, orientation, etc.
TBH the problem is that Range is literally being too many thing at once, but that's another issue
 
@Vogel612 but Variant/Error is still distinct from Variant/Empty or Variant/Null, so not seeing why that is a problem. Variant/Empty really should be treated like garbage it is.
 
If A1.Font.Bold = trueand A2.Font.Bold = False then checking Range("A1:A2").Font.Bold` evaluates to Null. AIUI Variant is required to permit this because it's neither True nor False.
 
@IvenBach correct, and it makes sense
 
@this but it explains why the return type of the Method is a Variant
because VBA does not support Union types (aside from Variant)
 
8:38 PM
Oh, I follow now. Yes.
 
@MathieuGuindon Agreed. Still, does not help argue any cases for why we need Variant/Empty.
Variant/Empty => useful as scuba gear in middle of Sahara desert
 
 
Based on everything I've understood and learned from this pond it feels like my comprehension of Variant/Null for properties correct.
@Vogel612 What's a union type?
 
@IvenBach basically a typesafe way to store two multiple types in a single one
 
8:44 PM
Do you have a link to documentation I can read?
 
the easiest example I know are haskell data types
Maybe a = Just a
  | Nothing
 
Oh... I don't know haskell.
 
this basically says: There is a union type called "Maybe<a>"
if you look at the value of that type, it can be a value of the type "Just<a>" or of the type "Nothing"
 
The variable a of type Maybe could be either ( a | Nothing )?
 
The variable can be any type.
 
8:47 PM
note that a here is a type variable, which is a bit more powerful than generics
 
@MathieuGuindon OK, so the VB6 PE shows ProjectName (ProjectFileName.vbp), or if the the project is unsaved it shows ProjectName (ProjectName)
 
the CE is consistent with that?
 
You could have something like MyType = Int | String.
 
> I confirm the same problem as OP with the VBE shipped with Inventor but I believe it might be because Inventor starts the VBE with a reference to the "Autodesk Inventor Object Library" that Rubberduck does not like.
I am on Win10 PC.

I confirm that Rubberduck is working well for me in Office365 Excel 32bit and Excel 64bit (i experimented with installing/uninstalling both just to see).

I confirm that Rubberduck works well for me in Excel **_until_** I add a reference to the "Autodesk I
 
@MathieuGuindon no... in the current green release, the CE shows ProjectName (Microsoft Visual Basic [design])
 
8:48 PM
That would either be an integer or a string, but certainly not a floating point number.
 
just gonna pull Max's branch and see what that shows
 
@M.Doerner and continuing from that of course you can have a Maybe MyType
 
@mansellan oh, wow..that's... yuck
 
@mansellan Can you tell me what the VBE window caption is for VB6?
 
I bet the regex does not fit to the different style.
 
@M.Doerner It shows as ProjectName - Microsoft Visual Basic [design] (last bit only in design mode ofc)
 
Ah, that is the reverse of VBA.
No wonder it looks stupid.
 
And the project name shows depends on selected PE node, not the startup project
 
For VBA, it is also the active project.
 
8:53 PM
are we told that ?
 
> I confirm the same problem as OP with the VBE shipped with Inventor but I believe it might be because Inventor starts the VBE with a reference to the "Autodesk Inventor Object Library" that Rubberduck does not like.

I also confirm the same issue is experienced on previous versions of Autodesk Inventor Professional - i installed/uninstalled 2016, 2017 and 2020 - they all reproduce the undesirable behaviour.

I am on Win10 PC.

I confirm that aside from this issue with the Autodesk Inve
 
Hmm, I'd ask him to upload the RxInventor.tlb but I don't know if that will violate licensing
pretty sure we don't need to have inventor installed.
 
@this Would hope that TLBs weren't copyrightable, they're just headers effectively? Mind you, Oracle would probably take that to court :-)
 
I'd hope so, too.
But who know what silly licenses they slap on their products...
 
8:57 PM
but reverse-engineering to ensure interoperability between systems is okay, I saw a MS dev tweet it the other day!
 
considering that if I get the IDL, I can compile my own TLB, so.... I don't know what they hope to protect by not sharing tlb files.
 
@mansellan Correction - it varies depends on the project of the currently selected item e.g. if a code window has focus, the window caption will be for the project of that code window, etc.
 
Lawyers gonna be lawyers, I guess.
 
so.... I don't think we can use the VB6 window caption for anything in the CE?
 
That is the same behaviour as for VBA.
When you select a code pane, its project becomes active.
 
00:00 - 21:0021:00 - 00:00

« first day (2084 days earlier)      last day (1096 days later) »