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

12:01 AM
RELOAD!
[Phrancis/TwitterTools] 10 commits. 134 additions. 44 deletions.
[rubberduck-vba/Rubberduck] 4 opened issues. 1 closed issue. 12 issue comments.
[Minesweeper] Games Played: 69, Bombs Used: 45, Moves Performed: 9123, New Users: 9
 
 
3 hours later…
2:52 AM
[rubberduck-vba/Rubberduck] build for commit cbc7c79c on unknown branch: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] retailcoder pushed 23 commits to next (only showing some of them below)
Unhappy/Dirty IDescribable method conversion

This commit contains the classes which do have issue with
`Description(bool spelledOutWhitespace=false)`. For these classes the parameter
is not appliable. Need to rubberduck out loud as to how to go about resolving
this. Is the best way to proceed with overloading the method?
[rubberduck-vba/Rubberduck] IvenBach pushed commit c8aac33a to next: Use ternary operator
[rubberduck-vba/Rubberduck] IvenBach pushed commit 9e51f61c to next: Remove redundant ToString()
[rubberduck-vba/Rubberduck] IvenBach pushed commit 23cf34b4 to next: Fix typo
[rubberduck-vba/Rubberduck] IvenBach pushed commit 5e572ed7 to next: Rename parameter
[rubberduck-vba/Rubberduck] IvenBach pushed commit 5a87c14c to next: Merge remote-tracking branch 'upstream/next' into Issue2776_RegexAssistantWhitespace
[rubberduck-vba/Rubberduck] IvenBach pushed commit 0456642b to next: Update resource
[rubberduck-vba/Rubberduck] IvenBach pushed commit 15f8dc34 to next: Remove icon
Revert "Remove icon"

This reverts commit 15f8dc345738ef484ef7a1e90954b1d327aa7c8a.
Merge pull request #5044 from IvenBach/Issue2776_RegexAssistantWhitespace

Fully spell out whitespace characters in RegexAssistant description
 
@IvenBach oops. you were done, right?
 
LOL. Was about to ask out that.
I think I was done with that one.
 
well, you are now! ;-)
 
There's still 2 more PR I want to get in before classes start. I'm needing them myself to make work easier.
 
Cool! Been thinking about the code pane thing. I think we should build it as a toolwindow, and then figure out how to make it be the IDE's code pane
2
That way it could be much more incremental and feels much less of a monumental project
@IvenBach don't classes start next week?
 
3:08 AM
Yes they do.
You should know by now that I'm a slow coder.
 
@IvenBach take all the time you need!
 
This is all part of my knowledge debt I'm trying to pay back to the pond.
 
 
1 hour later…
4:50 AM
Getting a false positive on "Set assignment with incompatible type" arising from ` Dim targetShape As Shape: Set targetShape = targetSheet.Shapes(shapeInd)` where targetSheet is of type Worksheet.
The description reads "To the variable 'targetShape' of declared type 'EXCEL.EXE;Excel.Shape' a value is set assigned with the incompatible declared type 'EXCEL.EXE;Excel.Shapes'"
Also found out that CopyResultsCommand will need some love with filtering as it copies all results.
 
5:39 AM
> Close #5080

I have a BrainTickle over the use of [InspectionsUI.ResourceManager.GetString("CodeInspectionSeverity_All", CultureInfo.CurrentUICulture);](https://github.com/IvenBach/Rubberduck/blob/Issue5080_Text_filter_for_Code_Inspections/Rubberduck.Core/UI/Settings/InspectionSettingsViewModel.cs#L81). Is it done this way because of localization? In previous PR I recall using `InspectionsUI.CodeInspectionSeverity_All` and assumed it was good.
 
@Duga My guess is the late coding that's causing me to not think straight.
It's sleep time. Night pond.</iven>
 
5:52 AM
[rubberduck-vba/Rubberduck] build for commit ad578b4b on unknown branch: AppVeyor build succeeded
 
 
2 hours later…
7:24 AM
@IvenBach I think the assignment did not get assigned to the default member there.
I will add a test for this situation to my current PR.
 
 
2 hours later…
9:07 AM
> The Intender changes this code:

` x_filt = fn_def_filt(Me.zbnr, "DG_BNR", "LIKE", "T") & _
fn_def_filt(Me.zname, "xname", "LIKE", "T") & _
fn_def_filt(Me.zplz, "DG_PLZ", "LIKE", "T") & _
fn_def_filt(Me.zort, "DG_GNAME", "LIKE", "T") & _
fn_def_filt(Me.zadr, "DG_ADR", "LIKE", "T") & _
fn_def_filt(Me.zsvt, "xsvt", "LIKE", "T")`

to this:

`
x_filt = fn_def_filt(Me.zbnr, "DG_BNR", "LIKE", "T") & _
 
Ah, I see the problem. The SetTypeResolver prefers method references over default member and array access references.
It should be the other way around. First array access, then default member, then method.
 
 
1 hour later…
10:27 AM
> The bump to 4.6.1 will mean we can't support Windows Vista any more:

https://docs.microsoft.com/en-us/dotnet/framework/get-started/system-requirements

But given that it EOL'd in April 2017 and has less than 0.5% share, I don't see this as a problem.

If we need to move beyond 4.6.1, we'll lose Windows 8 too, but Windows 7 SP1 and Windows 8.1 are supported through to the latest version of netfx.
 
10:44 AM
Hmm interesting - .net 4.8 made significant improvements to High-DPI, catering explicitly for WPF controls hosted in native windows.
Probably not a good idea to target it though, it's too new, corps may not have deployed it yet.
> This support is leveraged by WPF to ensure that controls that are hosted under a native window can respond to DPI changes and update themselves. For e.g.- a WPF control hosted in a Windows Forms or a Win32 application that is manifested as Per Monitor V2 – will now be able to respond correctly to DPI changes and update itself.
 
 
1 hour later…
12:12 PM
@mansellan If it's a significant enough issue, one consideration is to do multiple target - build RD in both 4.6 and 4.8 and let people choose.
Note that the bump to 4.6.1 can be also avoided if someone can find a reflection helper library that does the job. The main reason I'm using ExpressiveReflection is so that I don't have to 1) stringify anything, 2) I can discover the correct generic method without resorting to cheap tricks like First() or Last() which could start failing when we take in a updated version of Moq
 
yeah I wondered about that, but our build chain is pretty complicated already :-)
 
meh, what's one more step? :-p
On a it more serious note, one idea is to create an issue and send people to comment (and thus "vote") so we can gauge if there is a real need
 
12:28 PM
TBF, we only have one open DPI issue anyway - github.com/rubberduck-vba/Rubberduck/issues/4634
I don't have a high DPI screen atm to repro
 
12:52 PM
@mansellan My 15" laptop has a 4k screen.
I can't develop RD without installing an older version of VS, but I can install it and see if I can reproduce things.
 
1:11 PM
@23fc9a62-56de-47fb-97b4-737890 oh ok cool. it's been a while since I looked at DPI, and tbh I wasn't planning on doing so for now. But if that changes I'll give you a shout :-)
I just spotted that bit of the 4.8 release notes and thought it was worth sharing
 
1:47 PM
Sheeesh...
So, we've been working on some functionality on/off for about a year now.
We finally got some formal specs compiled.
It's estimated to be 80 hours of work.
And now we're ordered to get it into dev by September so they can demo it at some big conference they're going to.
 
I'm guessing it won't take that long, but I'm tempted to make it take that long on purpose :D
Of course, it depends on how fast our architect gets the migration in...
 
2:10 PM
@Duga FWIW I bet the same behavior will be seen in Access when the macros is disabled.
@23fc9a62-56de-47fb-97b4-737890 OTOH, if not for that conference, they'd probably never get it done.
 
Nah, the ticket's already in.
One of our clients has been asking about it.
At this point, it's getting done one way or another--they just suddenly realized it would be something new to show off there...
 
@Feeds Re-added XKCD to the room.
Not sure how that got removed.
 
Seems that there haven't been any Codeless Code updates in a while
 
Yeah :(
@IvenBach I should set up a feed to that too :)
 
2:27 PM
 
was
as well as SO
 
2:48 PM
well, that's kind of expected for a software that overflows its stack, no?
 
3:12 PM
powershell is freakin wierd sometimes
 
at one point RD was using PS scripts for build.
 
i remmeber
thats why im bugging you @this
so check this out,
	[bool]$debugmode = $true
	#one liner version for manually pasting into the powershell console
	#Function DebugWrite-Output([bool]$isDebug,$inputObject){if ($isDebug -eq $true){Write-Output $inputObject}}
	#regular version actually in script
	Function DebugWrite-Output([bool]$isDebug,$inputObject)
		{if ($isDebug -eq $true){
			Write-Output $inputObject
		}
	}
	DebugWrite-Output -isDebug = $debugmode -inputObject "Loading create access file function"
that LOOKS like it would work.
when i put the one liner into a terminal, call it
it works.
BUT when its sitting pretty in a script
DebugWrite-Output : Cannot process argument transformation on parameter 'isDebug'. Cannot convert value "System.String" to type "System.Boolean". Boolean parameters accept only Boolean values and numbers, such as
$True, $False, 1 or 0.
At C:\Users\MMyers\source\repos\Powershell Scripts\Modular-Export.ps1:6 char:28
+ DebugWrite-Output -isDebug = $debugmode -inputObject "Loading create  ...
+                            ~
    + CategoryInfo          : InvalidData: (:) [DebugWrite-Output], ParameterBindingArgumentTransformationException
 
Fun times.
 
what in the crap
 
Unfortunately, I can't look at this closely RN maybe later in PM
 
3:17 PM
i probably should ask a SO question
or maybe..
-_- when i [bool]$debugmode = $true
i checked the value of $debugmode and it returned the word true
so maybe its actually passing the string true
-_-
 
i would. I went away from PS because I can't deal with jack-in-the-boxes
 
so when i do [bool]$isDebug as a parameter, it stupids out and things that im passing a string
 
let somenoe else who is already mutiliated by PS help you. :)
 
lolol
so if you had to chose between PS and SSIS packages
when you have to create a lot of "things" would you try to see if you could set up an easily scalable ps script, or make a bajillion special snowflake SSIS packages...
OH on BIDS 2008r2
 
SSIS. the key is I minimize the work in SSIS
it should only have source & destination and one line between the two, that's it.
i send them into a staging table that's very loose
then I just run stored procedures on the staging table.
that way I can test the transformation in SQL Server, not in SSIS and do so independently because SSIS packages are fiends for testing
 
3:23 PM
every single ssis package ive made has been either an import or an export
the imports being the vast minority
 
but are you targeting staging tables, rather than actual tables?
 
though, on a cool note, i have learned a whole crapload about dealing with the different data clients
actual tables
i dont need to do anything to the tables
im supposed to be cloning the tables from sql server to an access DB for consumption by a consultant
mostly because we dont want to give him access to the network, by we i mean the network admin and my boss
 
but if actual tables has constraints & stuff, that is going to create problems
when you are import, you need to use staging tables which is a copy of the table with no constraints, null allowed everywhere, and probably text in all columns
 
which kinds of constraints?
 
then you can massage the data as you need
defaults, foreign keys, not null, unique
all of them
 
3:28 PM
yeah i have a create table script that i based off the actual table script
the ultimate would be to create a thing that would take a table and output the access sql for creating the table with everything but the identity intact
i dont need nulls everywhere because its my data, i take pains to do data validation on EVERYTHING going in
 
interesting reply/take on telemetry on twitter... it's ok for a website to track button clicks and collect usage data, but not for a desktop app that can be /is used for managing sensitive data... even if the sensitive data is utterly irrelevant to telemetry. is it just me or there's a huge tinfoil aura around telemetry?
 
There is.
IMO, the website ones are worse.
Not just because they are websites, but because they are more likely to sell your information to advertisers.
 
3:43 PM
test
at least my network connection is working...
VPN to the office keeps dying...
 
@23fc9a62-56de-47fb-97b4-737890 that. and PII is even more subtle with web
 
I just had an idea to try to make a point.
Buy PII from companies that sell it to advertisers and make it OSS.
It's evil--but that's what it takes to get people to wake up.
Make people pay me to take it down :D
When I inevitably get sued, I'll just sue the company that sold it to me and say they had not right to provide it to me.
 
uh-huh
 
4:04 PM
@M.Doerner default member?
 
anyway, I'd love to add opt-in telemetry capabilities to RD, and aggregate RD feature usage data (what navigation tools are people using? do they refactor/rename from the code pane or from the CE context menu? are these bottom panel links ever used?), as well as VBA code metadata (how many modules does a RD user's VBA project have? is Hungarian Notation on a decline? are people using classes and interfaces? what's the typical cyclomatic complexity? etc..
11 hours ago, by IvenBach
The description reads "To the variable 'targetShape' of declared type 'EXCEL.EXE;Excel.Shape' a value is set assigned with the incompatible declared type 'EXCEL.EXE;Excel.Shapes'"
 
If it does get implemented, I'd like to have that available somewhere in a human-readable form
 
it's a resolver issue, the ref is going to the Shapes property but really belongs to the collection's default member
 
that way, the paranoid petes can read and see what exactly is sent to us
 
@this I'd have a blast crafting all the SSRS reports and dashboards with it
 
4:06 PM
isn't PBI the new SSRS?
 
what's PBI now
 
would love to have rubberduck.com/stats!
PowerBI
 
oh duh
@this YES
 
;-)
one thing to consider, though - it would have to be by projects, not by users, perhaps
 
and we could even have a REST API, and a "how does this project compare to typical VBA code?" button
@this we don't care about user data.... as I said on Twitter it's the aggregation that makes it valuable
 
4:08 PM
no no, bad choices of word
I meant aggregating by projects rather than aggregating by users
 
definitely
 
e.g. if I'm opening 10 projects, each should count as unit of something
 
each ProjectID gets a GUID
 
@MathieuGuindon understood. :+1:
 
might generate false positive for copies but that's not a big deal in aggregation.... right?
 
4:09 PM
> how many projects do people have in the VBE
@this assuming I'm not the only one opting in, yeah
 
been halfway through for about 3 years now... I should really pick it up again, it's a good read.
I liked the part where he writes that the single most important refactoring tool is extract method.
 
It's mentioned in the unit testing book I'm reading. As is Clean Code which I've already read.
 
when you read it you'll wonder why you waited so long
 
The Extract and Override to create a fake was eye opening.
Oh I know why I've waited so long already. I wasn't capable of understanding the content.
C# In Depth is next for round 2 of reading.
 
4:18 PM
I know when I finish it I'll wonder why I waited so long anyway
 
Because you were writing your own book. That's why.
 
meh
not for 3 years
 
You're willing to help others before you help yourself. It that you give of yourself so freely you do it Mug. :p
 
I have to confess TLoZ:BOTW stole several hours of my life this spring (I'm done with it now)
 
The Legend of Zelda: Breath of the Wild?
 
4:20 PM
yeah
 
I deleted all games off my pc in prep for university. I know myself too well. That's why I got another PR opened.
Speaking of which :scurries-off:
 
@this
i got an answer, apparently i needed to use [Switch] instead of [bool] on the parameter
 
Ohhh, this would be a fun project.
 
@IvenBach I pretty much had to swear off games once I got out of colleges. It's too self-destructive otherwise.
 
4:27 PM
After/during parses, kick of asynchronous tasks dumping data to the website.
 
I love the RPGs but I just can't afford the hours and hours it demands.
 
@23fc9a62-56de-47fb-97b4-737890 need the website migrated to Azure first :)
 
@MathieuGuindon regarding the earlier comment RE: code pane - I need to point out that we need to prove that we can contain a toolwindow in a dockable container first, no?
we don't wnat to build a solution only to find that it can't contain native toolwindows or something
 
aren't we doing exactly that with the CE and literally every other toolwindow we already have?
 
since in the end we want The One Single True Toolwindow
no, they are each their own toolwindows, and using VBIDE's ancient docking system
if we ant to improve the docking experience, we need to implement a better docking system use that exclusively. Right?
 
4:35 PM
ok no, not at that point. what I meant was, we could just kick off the Avalon work by working on the UserControl, embed it in another TW, get the "editor" part to work the way we want it, and then expand its scope to an actual code pane replacement
i.e. meanwhile it would be an opt-in experimental/WIP feature that basically pops an alternative editor inside the legacy editor
 
@MathieuGuindon Super easy.
Basically, create a web service and point it at the GitHub repo.
It will automatically do the deployment.
 
that'll be awesome. I hate being able to publish a version that isn't comitted to the RD-WEB repo
let alone in a [master] branch
 
You can still do that. You shouldn't, though.
You can set it up to auto-deploy on changes with a couple clicks.
 
Also, feature-creep. Estimation is now bumped to 90 hours. Deadline did NOT change.
Although, I've done 14 hours worth of estimations in less than an hour.
The migration is almost done, but I've got another 4 hours worth of work I'll get to right after lunch without it.
 
4:41 PM
@MathieuGuindon that's what I'm worried about, actually, embedding WinForm-like TW in a WPF in a native TW.
IDK if you saw but I was telling Mansallen that I wondered if using Winform docking solution would be less drastic for VBIDE
 
the hosting mechanics can change later, but holding up the Avalon work until the whole feature is figured out makes it vaporware I think
 
@this
 
that way, native TWs can dock just normally while WPF stuff can dock in their own ElemntHOst silo.
 
0
Q: error saying it cant convert string to bool

KySotoI am trying to write a function that echo's the input if my script is running in debug mode. [bool]$debugmode = $true #one liner version for manually pasting into the powershell console #Function DebugWrite-Output([bool]$isDebug,$inputObject){if ($isDebug -eq $true){Write-Output $inputObject}} F...

 
I suppose so. I'm afraid that we'd go down one direction only to find out that VBIDE throws a hissy fit
 
4:43 PM
gah i r teh deeerrrp today
i cant do nothin right
 
@KySoto :+1:
 
i totally fubar'd on passing the parameter
 
@this yeah, no I really mean just the editor part. so things like custom syntax highlighting, custom intellisense, squiggly underlines, context-sensitive inspection quickfix floating dropdown buttons, and whatnot - can all be implemented and user-tested before we even try to make that the editor
 
ahhhh.....
 
vs figuring out the docking and hijacking, tapping into the debugger, and solving all the hard problems first, then working on the editor features
 
4:49 PM
evidently, I do not have enough caffeine....
 
@IvenBach subtle hint
 
@MathieuGuindon I agree.
We didn't do mocking the first round of unit tests.
 
@MathieuGuindon does anyone use it in VB6 ;-)
 
I really need to get back to work on RD. I miss it :(
Maybe I'll wait another month until Core 3.0 comes out, and we can see if we can use it.
Or I could bite the bullet and install VS 2017, or whatever (or is it 2015?).
 
5:01 PM
2017 CE
 
@MathieuGuindon putting together an AvalonEdit tw should be fairly trivial. I did an XML one a little while back, very easy API.
 
that's what I'm thinking - relatively trivial, and extremely rewarding
 
obviously VB is a little less, uh, tidy than XML, but still...
 
@MathieuGuindon Thanks.
I've got a zillion other hobbies ATM, but some of them are running out soon.
My horse lease is up in 2 months.
I tried to get a consulting position. They seemed really excited, but I think they suddenly decided to ghost me.
 
5:22 PM
@23fc9a62-56de-47fb-97b4-737890 dude, you're renting a horse? I hear those things are super expensive!!
;)
 
@FreeMan $280/month.
Expensive enough.
I'm thinking about picking up cross-country skiing this winter.
And backcountry hiking next summer.
I don't have kids, though, so...
 
@23fc9a62-56de-47fb-97b4-737890 that's prolly a lot cheaper than having to care for it yourself, especially when you consider the land necessary to keep one.
 
The guy I lease from boards them at someone else's place for $250/mo.
But he has to feed them a couple times a day.
He does lessons/rides professionally during the summer, and drives schoolbus in the winter.
 
sounds like the kind of gig a horse lover would have.
Frustrated as all get out with SSIS... I've got one working package and one attempt to duplicate it (different source/destination files, but essentially the same process logic) to a different package.
I've got an Execute SQL Task that pulls records from the "records to process" table. It feeds those into a ForEach Loop Container.
In the working one, I've got a flat file connection which has an expression setting the connection string to one of the columns pulled from the table. When I set it up, it gives me an error complaining that I don't have a valid connection, which seems to be quite legit - I look at the File Name in the connection manager editor and it's "". Fair enough.
 
@23fc9a62-56de-47fb-97b4-737890 not sure we can go core 3.0 due to the COM interop stuff that aren't there (just yet) in 3.0 but we definitely would benefit from the new msbuild version which might be more sane WRT winforms/wpf/designer.
 
5:32 PM
However, I was able to get it working in the working one.
 
@this that's what's preventing building RD with VS2019, right?
 
yeah
 
In the non-working one, I've done the same thing, using the expressions to set the Connection String to the same variable from the same column from the same "records to process" table, and... it won't get past the error.
 
we're using a bastardized SDK in order to work in 2017 with new csproj format.
 
sunshine or something
sunspark ...I don't recall
 
5:34 PM
Though, I looked and noticed that the Microsoft.Sdk.Extras was updated. I know Vogel tried it first before he used sunshine and it didn't work
 
I have no recollection of how I got the working one to work, while the broken one refuses to get past the Invalid file name issue
 
sunsomething
 
and apparently it works in both 2017 or 2019.
 
@MathieuGuindon @IvenBach Congratulations, victory is yours. I'm eliminating all of my Hungarian notation. Visual Studio is excellent. Being able to hover on any variable and see its defined type/the excellent code inspections were exactly what I needed to feel comfortable switching away from Hungarian.
9
 
whereas Sunshine is basically archived.
 
5:35 PM
soulsSaved++;
 
^
 
(Eliminating all of my Hungarian notation in my C# apps, which will be all of them as soon as I can port them)
@MathieuGuindon xD Exactly
 
I wonder what it'd take to actually get the host run C# instead of VBA.... #putsDownThePipe
 
anyone know what the heck little step I missed somewher?
 
@puzzlepiece87 I take it that we'll now have to convince you to use var?
 
5:36 PM
@MathieuGuindon I'm too noob at C# to get that joke, sorry! Explain if you feel like it?
 
@FreeMan probably a dumb question - but if you're setting expression for connection, but the connection manager is hard-coded to a specific file name and its File Name then it would be expected to get an error?
 
Something foo = new Something();

vs

var foo = new Something();
 
@MathieuGuindon Sunburst
 
Just looked through the reference
 
5:37 PM
@23fc9a62-56de-47fb-97b4-737890 yeah, was close enough :)
 
Yeah, why would I want to implicitly type?
 
Horses combine the money burning abiities of small children and used classic cars combined.
2
 
You've taught me to be explicit about everything xD
 
but it's literally on the same line?
I still have bad memories of C# 2.0 being persnickety.
 
@puzzlepiece87 enjoy double-typing everything :)
 
5:38 PM
^
and and!
suppose you want to refactor?
 
@this I started with a hard-coded file name, but then created the expression that sets the Connection String to a variable User::CompletePath that it should be populating from the returned SQL query
 
Something something = new Something(); -> Something something = ISomeThingFactory.Create()
 
For whatever reason, SSIS displays "" in the filename field of the Connection Manager.
 
@MathieuGuindon @this Yeah, I don't feel ready to go that far yet.....
That's a little too scary for me at the moment xD
 
In the working one, I recall it complained and gave me an error saying it wasn't valid, but I did something to get it to work and now I don't recall what it was.
 
5:39 PM
@Freeflow Eh, using a classic car on the road would cost me probably $280/month in insurance.
 
@this Oh, I am doing that! I am defining and assigning on the same line.
 
@puzzlepiece87 I think the water seeping into the cracks we made and then freezing over the winter helped too. Welcome to a new phase.
 
My point is that in this case, explicitly typing the types will dissuade you from doing the necessary refactoring because of that.
 
note that var has nothing to do with dynamic and is still 100% bound at compile-time. you can hover var and read a tooltip that says what the type is
 
^
 
5:40 PM
@FreeMan I missed it apparently.
 
In the Foreach Loop, I've got the variables being mapped from the result set to the user variables properly.
 
@FreeMan I think I'm lost because we are talkinga bout 2 thing
 
@MathieuGuindon Oh, if I can hover then I'm cool with it. I'm down.
I assumed the typing would be unknown until execution
 
Nope, not the case.
This isn't VBA!
:D
 
or javascript
 
5:41 PM
I only get to look at the definition on one line, not on any of the subsequent use case lines.
 
Yeah, C# can figure it all out.
 
@MathieuGuindon shudders hush. Don't speak its name loudly!
 
@puzzlepiece87 There are those that think so.
 
it's more about "type inference" than it is about "implicit typing"
i.e. it's an awesome compiler feature you'd be crazy not to use
 
@this I'm surprised it would prevent anyone from doing refactoring... VS seems RD-like at being able to just refactor every occurence of a variable...
 
5:42 PM
It feels a tad scary at first, then you ask yourself "Why wont var foo = new bar compile" in VBA.
 
@IvenBach that's because that was supposed to be in reply to @MathieuGuindon's comment a line above yours...
 
@MathieuGuindon So just put var in front of every variable?
 
@this ima get you some pics in a sec...
 
@puzzlepiece87 in the example I gave above, the type had changed on RHS from concrete to abstract. I don't think refactoring will do that as that is not safe (right, @MathieuGuindon?)
Ok, @FreeMan
 
@puzzlepiece87 put it this way: if you have a method that returns a Foo[] and refactor it to return a IEnumerable<Foo>, now everywhere you had Foo[] foo = thing.ThatMethod();, you have a compiler error.
 
5:43 PM
^ Have fun cleaning them all up.
 
whereas var foo = thing.ThatMethod(); will just happily go on with its life
 
Interesting.
 
@puzzlepiece87 I do that, yes
 
@23fc9a62-56de-47fb-97b4-737890 you have a sec for WPF question?
 
Thanks for the lesson! This will be helpful today.
I just copy-pasted my biggest app into C#, only 75,000 compiler errors to go xD
 
5:45 PM
ow
 
#Breathe
 
probably best to just rewrite from scratch instead of inline-translating VBA code into C#
 
^
 
I did exactly that with the Smart Indenter port, and I failed.
 
also, consider that you need to document the existing behavior, too.
 
5:47 PM
start with the unit tests!
 
We'll see, I don't think it will be too bad :D
Even doing simple stuff like replacing Private with private, Public with public, vbnullstring with string.Empty, etc. is going a long way
 
@this - deep breath, this'll take a moment...
Here is the mapping from the working Foreach Loop mapping the result set of the query into user variables
 
Looking at the var documentation, it looks like it's going to take me a bit to memorize when to use it, so for now I'm just erasing every byval as well and I'll start plugging in var when it complains
and then explicitly typing when it still complains
 
Here is the working Flat File Connection showing the "" for the file name
 
@puzzlepiece87 next week you'll be declaring a variable in VBA and will be typing String foo As and then go "arrrgh, again!" #ContextSwitchingIsFun
 
5:49 PM
and here is the working expression on the Flat File Connection showing the connection string being assigned to the variable
 
@MathieuGuindon Hahahaha, I don't anticipate using VBA much anymore. I'll probably be using Microsoft.Office.Interop.Excel for anything I need from here on out.
 
Here are the broken Foreach Loop mappings
the broken Flat File Connection Manager
and the broken Expression on the flat file connection
Both the broken and the working Flat File Connection Managers report this error in the edit page:
but, obviously, one works and the other is broken...
Somewhere, somehow, I did something a few weeks ago in the working one to get it to ignore that error and happily go on its way. I can't remember what it was that I did... I've been through the control editors and the properties of everything I can think of that would be related to this and I don't find any differences except in item naming (each set of components are named for the file type that they're loading)
 

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