« first day (1902 days earlier)      last day (1278 days later) » 

6:01 PM
Here are the complete properties from the working Connection Manager
and the broken ones
 
@23fc9a62-56de-47fb-97b4-737890 Figured it out myself. Thanks for helping me rubberduck through it.
 
The working DFC shows:
And the broken one shows this (can't get the hover over to work when VPN/RDC, but the error message is the A valid file name must be selected message I showed above)
 
In case I have to change an inspection result text because the inspection now works differently, what should I do with the translations for languages I do not speak? Delete them?
 
nope, spewing my guts here didn't set off the Ah Ha!!! bell of finally seeing the forest, either. :(
 
@M.Doerner Yes.
Unless the process changed in the last year or two.
 
6:13 PM
@M.Doerner @Vogel612 since you're both here and Max just brought it up - your English is good enough that I often forget it's not your first language.
 
@M.Doerner alternatively ask the translators for the respective languages to provide an updated text
that'd be Mat for French and SonGokuSSJ4 for Czech
 
@puzzlepiece87 watch out for leaks, though.
@FreeMan sorry, got pulled away. will look when I can
 
what? you have actual work to do? I thought you were RD's private SQL Server tech support!
no worries, I'll be here beating my head on my desk. if you see randogoaigpd8fha;jkn f; that means I missed the desk and hit my keyboard instead.
 
yeah, tire fire here. :\
 
ah. They'll burn for a while no matter what you do. Might as well take on a couple of pleasurable tasks for now. ;)
 
6:26 PM
lol
 
6:45 PM
my sad powershell face....
0
Q: I am trying to update the data source of an oledb data adapter and nothing happens

KySotoI am attempting to update data in an oledb datasource. I pull data from a table that who's schema has been written out as an access create table script (i could probably find a better way to get that schema information) and stored in the AccessCreateScript field of the lookup table. I am able g...

 
@FreeMan just checking - did you disable the validation check?
that might be the difference between the two
 
Sounds very familiar, can't see where to do it in the properties of which item, though. that's why I've been through them 10 bajillion times
 
two places- on the project itself and on the package
won't find them in the indidivual tasks
 
takes a deep breath. Dives in
 
@Vogel612 we have Spanish too now, no?
 
6:48 PM
ohhh right
 
email alias for them?
just a thought
 
deleting the translation is fine IMO
it'll stick out like a sore thumb next round of translations
 
@this Ah! Package|Execution|Delay Validation one is True one is False. True works...
 
yeah you need true because you cna't validate the expressions
SSIS IS FUN, KIDS!!!!
 
ba-da-bing! That was it!
 
6:50 PM
tbh delayvalidation set to false is a royal pita when you have hundreds of connections
 
My keyboard, desk and forehead all thank you!
 
^^^^^^^^^^^^^^^^ so that.
 
@MathieuGuindon will keep that in mind if/when I ever get beyond the 5 I've got now...
 
and frankly it's kind of stupid.
 
just opening the damn package takes forever
 
6:52 PM
can you imagine the ducky going "a second, lemme parse this bad boy you got here"?
 
^takes zero imagination whatsoever... :/
Considers turning off inspection auto-run
 
In my case I do turn off inspections. :\
 
> **Rubberduck version information**
Version 2.4.1.21157
OS: Microsoft Windows NT 6.1.7601 Service Pack 1, x64
Host Product: Microsoft Office 2013 x86
Host Version: 15.0.5023.1000
Host Executable: EXCEL.EXE

**Description**
A semi-frequent occurrence where a dialog, shown below, is presented before unit tests are run. This is not reproduce-able every time. ~5-10% of the time when running tests the dialog comes up. It locks up Excel for ~3-5 minutes before dialog is displayed. Once OK is
 
@IvenBach can you repro on any files?
I'm concerned that this might be due to a certain unit test in a certain file, hence my question.
 
For the ImplicitDefaultMemberAssignmentInspection, should the result contain the expression the assignment goes to?
 
6:57 PM
The only thing that's consistent in my PMW. It's not just on a specific file.
 
man i hope that between reddit and SO i get some halp with my script
 
Like Assignment to '{0}' implicitly assigns to the default member '{1}' of class '{2}'`
Or should we avoid having the expression in the result?
 
I like the idea of having expression - remember that inspections is also a teaching tool
 
^ I like it too
 
and for those unfamiliar with the problems, they might not realize it is a problem and why.
I wonder if we need the complete expression, too.... nah. they can click on it to go the line
 
7:00 PM
how about "implicitly assigns to the default member '{1}.{2}'" where 1: the class and 2: the default member?
@this that's the job of the detailed description and xml-docs :)
 
Yes but you need a good hook
 
Can anyone else repro that TestExplorer CopyResultsCommand isn't working?
 
Good form, Smee! That's a good form!
 
The nice thing about putting the expression there is that the text is close enough to the original that I can fix all but the Czech result texts.
 
7:05 PM
@IvenBach works here (2.4.1.4848)
 
Hm...
 
output's StartTime and EndTime don't feel right, but it's pasting a table in Excel
 
CodeInspections works, just not TestExplorer
 
Time for another coffee accident on your computer, methinks.
 
7:08 PM
Well it'll paste into excel but not N++.
 
hmm are we generating plain text?
 
I don't think we are
 
then that'd be why
seems weird, though.
 
we do HTML though
ThunderFrame didn't feel like lining up ASCII-art borders, I guess :)
 
hmm. I think to work, we must also write to the text format, I think.
LOL
there is a nuget package for that!
 
7:10 PM
lol, of course there is
 
but seriously, CSV format to the plain format of the clipboard should work.
 
Both paste to excel without issue. CodInpsections can and does paste to N++ while TestExplorer doesn't. AFAICT the code's the same.
 
_clipboard.AppendString(DataFormats.UnicodeText, textResults); is commented out. Methinks I spotted the issue.
 
the CE doesn't export plain text either AFAIKT
 
7:11 PM
Well, we don't do cod inspections, so you should contact the authors who made this.
 
cod imp sections
@IvenBach probably due to a bug though
but yeah CSV makes more sense than ASCII-art
 
@MathieuGuindon in that case, git blame's yer friend
 
At this point I'm poking it to see what happens.
 
yeah I wouldn't want ascii boxes. It's OK for a command line tool that shall remain nameless but not so much for sharing.
 
Got it to paste just fine.
 
7:15 PM
@IvenBach can you confirm it also makes the CE export to text?
 
CE currently doesn't paste to N++. Want me to edit the code and see if it can?
I get the feeling this functionality should be consolidated to a single locale.
 
sure
YES
feel free to refactor as needed :)
 
Hrm... Seems that command isn't even set up in CE.
CodeExplorer, TestExplorer, CodeInspections any anywhere else this is used?
 
todos
(IIRC)
@IvenBach huh, it does export to Excel/html
mind you, CE has a few commands, it's probably just buried in the bunch
 
7:42 PM
@MathieuGuindon talking of which --- I need to remind there's a PR about commands that needs reviewing....
may need @M.Doerner to review it as well since he has requested few changes and I want to be sure all requests has been addressed.
 
I'll have a look once I have finished my current PR.
 
:+1:
 
@this Uh oh. How should I watch out for leaks?
 
got a phone call from the optometrist, I'm getting my new glasses after work, and contact lenses that are actually at my prescription (using approximate trial lenses rn, and crazy-glued my broken old glasses but.. they're really beyond done) - I'll see sharp again tonight!
 
7:55 PM
Question on Let coersion default member resolution: if the reolution fails, should I simply return the underlying expression?
 
to whom?
if to users, I think that's the best thing we can do
 
in what context would resolution fail?
 
I currently return a FeiledReolutionExpression, but that breaks the ObjectAssignmentRequiresSetInspection.
If a default member with a value type is requires, but there is none.
Basically, when the inspection should create a result.
With the failed resolution, there is no assignment reference.
 
could we have an IllegalLetCoercionExpression?
(and would that make the inspection easier to reliably implement?)
 
What would that buy over just returning the underlying expression?
The expressions are gone after the resolver did its job.
 
7:59 PM
ah, ok
so.. if we return the underlying expression, we get the assignment IdentifierReference against the "wrong" declaration?
 
yes
 
that sounds like a good idea
I think
 
It will just be as if we did not reolve the default member call due to Let coercion.
 
I wonder if that needs to be sometihng else
e.g. a collection of FailReference as opposed to IdentifierReference
mainly to avoid mixing bad and good apples in one basket
 
or IllegalIdentifierReference : IdentifierReference?
 
8:02 PM
> Ahh.. this thing would be good for cooking my steak. 20x20 cm is big enough and you could adjust the temp by downclocking or overclocking. XD
LOL.
 
Yes that could work.
 
hm, I don't remember if it's a struct or a class
@M.Doerner basically the problem with returning the underlying expression is that we basically "lose" the knowledge of something being off with that expression, right?
 
I think we are good with just using the original one. You will only get let assignments to object type variables, if they are illegal.
All legal ones go to the default member.
 
seems inspectable enough
 
@MathieuGuindon Smee, I've had an apostrophe!
 
8:05 PM
i worry that might cause some tests to fail as that might change the assumptions about what identifier references we can expect to find for something.
 
@FreeMan LOL
 
@IvenBach I'm a Cod fish!
 
I do not see how that can make tests fail. Using the original expression is what we currently always do.
 
@this IDK, there are definitely a number of places where we assume default member calls aren't resolving correctly - IMO tests now failing because of that need to be fixed, not pampered
 
Returning the FailedResolutionExpression is actually what makes quite a few tests fail rightt now.
BTW, there are only two places with tests affected.
I already fixed the ImplicitDefaultMemberAssignmentInspection, which obviously could no longer work the old way.
The other place is the ObjectVariableNotSetInspection.
 
8:09 PM
nice
 
:+1:
 
@MathieuGuindon #LateToTheParty as usual, but I do what i can
 
@FreeMan but if you're chopped up in pieces, does that make you a codspiece?
 
ouch
 
>:D Leave it to English to butcher the language up!
 
8:16 PM
Potentially dumb question: Access form with 2 radio buttons. For button A, I've defined the Option Value to be 1, for button B, I've defined it as 2. When I reference Form_myForm.ButtonGroup.Value I get values of 0 and 1. Shouldn't they be 1 and 2?
Yes, yes it should, but you actually have to assign the value from the form to the class that you're looking at later, otherwise the property remains at the nifty default value of 0 that VBA assigns it.
:/
 
instead of using constants, use the option values.
e.g. myForm.ButtonGroup.Value = myForm.OptionOne.OptionValue
 
> I've defined the Option Value to be 1, for button B, I've defined it as 2
Oh, gotcha. I created an enum for them to refer to them later.
 
yeah, no need for an enum. Just use the OptionValue property
then you can use any old values you like and code still worksâ„¢
 
hrm...
but.. later, when I need to reference it from a a class that's not the form, I need to know which option I'm working with. Don't I need some way to know which one's which?
 
I see
 
8:21 PM
I mean, I guess I could do If Implementation_ButtonOption = myForm.ButtonOptionA.OptionValue Then, but that feels really... clunky...
instead I've got Implementation_ButtonOption = optionA (which, with the capital at the end looks like it's spelled backwards, but isn't), and that seems to read much better
 
TBH I don't use them that frequent, and certainly not outside a form. I can't remember if you can write to OptionValue but if you could, you could assign the Enum members to the option controls instead.
that way, the enum is now The One True Source Of Truthâ„¢.
 
looks into it
 
but, the enum is in the Interface, so I'd have to create an instance of the class at form load time just to read the enum to populate the numbers, and that seems a bit awkward, too...
then I'd have to throw away that instance because I might not even need it later.
Makes A Lot Of Senseâ„¢, but feels really awkward in this instance.
since we're â„¢ random phrases...
 
wait
why does enum have to be on the class?
 
8:28 PM
@FreeMan huh??
 
it's what you guys helped me with yesterday.
 
a public enum's location makes no difference whatsoever IME.
 
I guess it doesn't matter where it's located...
 
^^ & ^
 
oh, "read" as in "read with one's actual eyes"
#fail
 
8:29 PM
#nowConfusedAgain
 
I think the following should really not return an inspection result.
Private Sub DoSomething()
    Dim target As Object
    target = CreateObject(""Scripting.Dictionary"")
    target(""foo"") = 42
End Sub
 
@FreeMan you don't need to open up the interface to lookup the enum members... you can simply drill down and expand the CE node for it
 
I thought we were talking about reading enums into option values.
 
The tests asserts that i does, though.
 
is that for the implicit assignment?
 
8:30 PM
@MathieuGuindon nope. read = reference.
 
@FreeMan ignore me then :)
 
@this that
 
Yes
 
poor choice of words.
 
I thought it should be target(""foo"").Value = 42?
 
8:30 PM
The assignment is to an unbound member call.
 
Use on RHS to assign to another variable somewhere
 
but target = CreateObject(""Scripting.Dictionary"") is missing a Set keyword
 
@MathieuGuindon facepalm leave it to me to look at small details and miss the big picture
 
At compile time target(""foo"") has type Variant and is unbound.
@MathieuGuindon Not really, that is also an assignment to an unbound member from an unbound member.
 
huh, what inspection is that test for?
 
8:33 PM
Whenever Object is in play, you have no idea whether there is a default member.
 
@M.Doerner I presume that code actually won't run.
 
ObjectVariableRequiresSetInspection.
I think it would fail because there is no key "foo".
 
target = CreateObject("whatever") absolutely should spawn a result
 
^
 
I think the assignment under it is just a red herring, should be removed
 
8:34 PM
Why?
 
because target is declared As Object
 
The name of the test is ObjectVariableNotSet_GivenIndexerObjectAccess_ReturnsResult.
But exactly because it is declared as Object, the assignmant might be legal.
 
because of default member, yes. I realized that too late.
 
you're talking about target(""foo"") = 42, I'm stuck on the missing Set keyword in the instruction just above that
 
It could resolve to a default member call as runtime.
 
8:36 PM
it's the fact that that we are creating an object that trips us up
 
It will spawn a result for ImplicitDefaultMemberAssignment, though.
 
@MathieuGuindon imagine it as target = CreateObject("Excel.Application") -- instead of getting the object Excel.Application, you get a string Application
since it resolves to Excel.Application.Name (the default property)
 
And once it exists also for ImplicitDefaultMemberAccess.
 
(and we basically threw the object instance away)
 
I see that, and because target is declared As Object, the let-coercion is definitely illegal
in any case, that test code is confusing
 
8:39 PM
No, it is only illegal, if the object at runtime does not have a parameterless Property Let default member.
 
it's illegal because it throws error 91 at run time, ....exactly what the inspection intends to flag
 
@MathieuGuindon I have to agree, though. I assume it was set up like that to test for an edge case against a false positive. Needs a comment to explain that yes it really means to do this crapatastic code.
 
At compile time, you get a resolution to an unbound member of type Variant.
 
Sub test()
    Dim target As Object
    target = Application 'error 91
End Sub
 
> **Rubberduck version information**
The info below can be copy-paste-completed from the first lines of Rubberduck's log or the About box:

Rubberduck version [...]
Operating System: [...]
Host Product: [...]
Host Version: [...]
Host Executable: [...]


**Description**
I changed the value of the first item of a `Public Enum` and parsed. The _Code Explorer_ continued to show the original value

**To Reproduce**
Steps to reproduce the behavior:
1. Create a `Publ
 
8:42 PM
You are assigning to Nothing there.
 
I'm not
I'm assigning to _Global.Application
and Set is required
 
No, you assign Application to a potential default member of Nothing.
 
Public Sub TestIt()
    Dim target As Object
    Set target = Sheet1.Range("A1")
    target = Application
End Sub
Works flawlessly
 
holy shit
 
8:44 PM
With Object, everything happens at runtime.
 
That is why all the default member crazyness works for late-bound code.
 
@Duga Submitted on home machine (because that's what I'm getting the screen shots from). Edited from the Work computer to paste in the RD version info & add the Log. But no, I couldn't add the log from there, so I had to mail it to myself and edit from the Home computer to paste the log in.
Thanks funky work network restrictions.
 
@MathieuGuindon remember, that's the same guy who bought us Wasabi.
 
yeah, no, something's off
target runtime type is Object/Range at target = Application, so there's an implicit default member call on both RHS and LHS
 
8:48 PM
Exactly
 
are we saying in target = Application, that the error 91 is coming from LHS attempting to invoke a default member?
(which completely makes sense, in retrospect)
 
Yes
 
That is why you get that stupid misleading error message.
 
how can we make the (an) inspection say "you want a Set keyword there" anyway?
 
8:50 PM
FWIW, I think that not having the Set for any CreateObject assignment is a huge smell in itself, esp. when using implicit default member access.
 
As I said, we currently get a result from ImplicitDefaultMemberAssigmnetInspection.
 
that makes sense, but we'll lose our noobs here
 
This now also covers unbound default member assignments.
 
I was hoping there'd be a way to flag it and quickfix it with "Add 'Set' keyword"
 
We could add a SuspiciousLetAssignmentInspection.
 
8:53 PM
which would flag LetStmtContext where LHS involves an implicit default member call? I can buy that.
 
Even if it is legal, this kind of assignment will probably not be intentional.
 
^ we really want to bring that to the foremost
 
*sigh
 
and fixed by making the LHS default member call explicit
 
8:54 PM
its been 2 hours, narry a comment for clarification
 
(or adding Set)
 
reposted on spiceworks (it site) too
 
I'm really liking this
 
Regarding the use of ClipboardWriter to _clipboard.AppendFoo(bar, duk); since that's repeated does it make sense to add an AppendInfo(foo, bar, duck, ...) to that interface?
 
We actually already have the one for the default member assignment.
I was rather thinking about ones where Object is involved or where both sides have a default member access.
 
8:57 PM
picks up Range("A1") = 42
yeah, if RHS isn't an object then SuspiciousLetAssignment can't fire
but ImplicitDefaultMemberAssignment is up
 
I always forget, is that strongly typed to Range?
 
Then we get that from the ImplicitDefaultMemberAssignment already.
 
yeah
58 secs ago, by Mathieu Guindon
but ImplicitDefaultMemberAssignment is up
and we are actually able to evaluate that RHS is an object type at this point?
 
We would actually get both for the suspicious ones.
 
8:59 PM
@IvenBach You mean a params value?
 

« first day (1902 days earlier)      last day (1278 days later) »