« first day (1652 days earlier)      last day (1528 days later) » 
00:00 - 20:0020:00 - 00:00

12:00 AM
I'm a bit confused by the title
"Delete this inspection"?
 
RELOAD!
[rubberduck-vba/Rubberduck] 4 opened issues. 2 closed issues. 26 issue comments.
 
Delete = disable.
 
[Zomis/AdventOfCode] 4 commits. 2780 additions. 16 deletions.
 
I think the fix is probably trivial TBH.
 
> Must be a bug with the busy state of the inspection results viewmodel - triggering a reparse from the RD commandbar or main menu should bring it back to normal, after a successful parse and inspection run.
 
12:06 AM
OK, so I made the search icon a button that changes to a red X that clears the search textbox when there's text in it. Question.
 
What should be behavior of the button be when the search box is already empty?
 
> I get that WPF will autohide controls that can't fit but I think this just looks too weird:
![image](https://user-images.githubusercontent.com/2367644/49975042-9682ba00-ff01-11e8-9764-6c34702656e1.png)

Kind of expect that the label and combobox would be a package deal.
 
Should it just be disabled, or should I set focus to the textbox?
 
12:07 AM
i'd just set focus to the textbox
 
@Duga @this I saw that this morning. There are some other binding problems in there that I'll need to sort out.
 
> My guess is that the parser state says "I'm already all up-to-date" and never fires a "state changed" event with the "ready" state the viewmodel is expecting; if that's the case then modifying the content of a single module (a single character suffices) and reparsing, would fix the state glitch.
> Replicated locally. This appears to be due to the command not running on the UI thread.

```
Exception thrown: 'System.ArgumentException' in Rubberduck.VBEditor.dll
2018-12-13 17:53:39.0483;ERROR;Rubberduck.UI.Command.ReparseCommand;System.ArgumentException: Expected COM object, but validation failed.
at Rubberduck.VBEditor.ComManagement.TypeLibs.TypeLibWrapper..ctor(IntPtr rawObjectPtr, Boolean isRefCountedInput) in C:\Rubberduck\Rubberduck.VBEEditor\ComManagement\TypeLibs\TypeLibs.cs
 
@Comintern I vote for focusing the textbox too
 
FML - I forgot to hit [Comment] button after I tagged it.
@MathieuGuindon Cool - that's easier and cleaner to implement.
 
12:09 AM
@Duga wait that means my guess is completely wrong does it
 
The reparse doesn't resolve it. It's completely screwed after it gets in that state.
 
fml
there is a glitch with the busy state though... on top of that one
 
I think the problem is that we are overloading the parser states
inspections aren't really that interested in parser states (beyond whether it has parsed or not)
probably goes back to what Mat was talking earlier about ambient context thingee.
 
12:27 AM
> Hmm.. Ignore what I said then - this is another thing entirely. That said there is a busy state glitch when a reparse is requested from the inspection results toolwindow, and then cancelled ...but for that the code must be uncompilable and the parser setting for 'compile before parse' must be enabled.
 
@Duga Are we relying on the reparse to clear the results in that case? If so, that seems kind of silly.
Disabling an inspection shouldn't require a reparse when we can simply remove them from the collection.
The next time the inspections run, they'll filter when the collection is updated because the settings get pulled again.
 
@Comintern but it currently triggers one :/
 
I'm thinking that should be strictly handled in UI. Write the new setting, then blast the inspection results from the window.
 
@Comintern yes... and yes =)
the whole inspection results toolwindow needs an overhaul. heck the whole inspections feature needs it.
 
> BTW - there is a utility to expand Excel 2010 32bit to use all of the 4GB rather than 2GB - I had forgot to use this utility on the latest version - which I have done now - maybe that will solve the memory constraints
 
12:36 AM
@Duga that's cool but shouldn't be a requirement
 
How the heck did I have this working before? Presenter and View both require the other in their constructors. I snafu'd something serious...
 
Isn't that just a registry setting?
 
@IvenBach view shouldn't know of any presenter
 
12:51 AM
I've not understood the article I read then.
That a recurring theme of mine.
> Because the view directly constructs the presenter, it is bound to the presenter implementation.
 
@IvenBach huh? That seems backwards....
That said: bedtime for me. Just wanted to drop by to say I probably won't have time for much RD this weekend
 
@Vogel612 'night!
 
Once I figure out how to untangle stuff that shouldn't be tracked I'll upload for a review.
Frustrating when I'm trying to work through MVP and example gives me bad information.
Untangling at home...
 
(how software development feels) A: How can we put in this screw with a hammer? B: Why a hammer? A: We were told a hammer is what everyone is using and we should use it too. B: Please don't... (some time later) A: We hammered the screw in and it's not working well. Help!
2
 
> There are many variations to the MVP pattern. The Partner Portal application uses the Supervising Presenter approach (this is also named Supervising Controller).
not necessarily wrong, just a different snowflake =)
> Rubberduck.Setup.2.3.1.4308.exe (3.89 MiB) - downloaded 268 times. Last updated on 2018-12-10
> Rubberduck.Setup.2.3.0.4221.exe (3.88 MiB) - downloaded 488 times. Last updated on 2018-11-25
@IvenBach looks like a web implementation. look for WinForms stuff=)
 
1:43 AM
There's also different flavors?
What happened to 'Model T Black' that everyone was happy with?
 
2:31 AM
 
@this It's a longshot. Could github.com/rubberduck-vba/Rubberduck/blob/next/.gitignore#L111 be causing the non-build issues I've had?
 
@IvenBach The gitignore file only controls what gets included in the diff for a commit.
It's for excluding files that are not part of the project (i.e. user specific).
 
Besides, if there was a bad entry, everybody wold get it too i think.
 
Stupid Windows z-ordering. It tucked a modal dialog behind VS.
Only way to get rid of it was end task.
@IvenBach Just out of curiousity, what do your settings look like in Tools->Options->Projects->Build?
I'm also curious if disabling the XAML designer would do anything.
 
 
1 hour later…
3:52 AM
Any opinions on where random WPF extension methods should live?
This needs a home:
        public static T GetDescendent<T>(this DependencyObject parent, Func<T, bool> filter = null) where T : DependencyObject
        {
            for (var index = 0; index < VisualTreeHelper.GetChildrenCount(parent); index++)
            {
                var child = VisualTreeHelper.GetChild(parent, index) as T;

                if (child != null && (filter is null || filter.Invoke(child)))
                {
                    return child;
                }

                var descendent = child.GetDescendent(filter);
 
@Comintern Rubberduck.Core.UI.XamlExtensions?
 
Good call.
 
or .UI.Common
 
The sizing of the listview columns wasn't working, so I need to go find a scrollbar...
var scroll = listview.GetDescendent<ScrollViewer>(element => element.ComputedVerticalScrollBarVisibility == Visibility.Visible)
For such a popular UI framework, the tooling is hit or miss.
 
 
2 hours later…
6:08 AM
I cleaned up my attempt at MVP github.com/IvenBach/Excel-Add-Ins/tree/SystemsOfLinearEquations for anyone willing wanting to take a look at it.
@Comintern ^
 
You might want to try it with parallel project builds set to a lower value. Mine is set to 2 - 1 would be safest (but a lot slower).
 
 
1 hour later…
7:22 AM
Mug. Does this github.com/mrts/winforms-mvp appear to be a better WinForms MVP?
 
 
1 hour later…
8:45 AM
> The exception from the log above essentially has the same effect as canceling at that specific point.

BTW, we fire a state change to _Ready_ on every successful parse, no matter whether there were changes or not.
 
 
2 hours later…
11:30 AM
> Yes, VBProject isn't available via the Outlook object model. When I was searching for a solution, I have just found (maybe false) information that there is no possibility to export the code from Outlook. I have currently a working way to get this using olevba, I am just looking for a solution that doesn't need the extra tools (and Python).
Edit: It is not possible to get the reference from VB extensibility objects either...
> I wonder though, does this need to be permanently on show on the toolbar? Seems like Settings would be a better home for this, with a cog icon on the toolbar to jump there.
 
 
1 hour later…
12:41 PM
> I agree settings would be a better place for this. If it's not moved there, a fix to keep the label and dropdown together could be to simply wrap the two controls in a <StackPanel Orientation="Horizontal"> tag.
 
Especially in light of #4635 would it be possible to parse all installed plugins when the RD starts up and write them to the log with the other environment settings or put them in the About dialog box to be copy/pasta'd when reporting a bug?
In the log could be considered (by some) a privacy issue since it reports what you're running and a lot of people (me) wouldn't look at the log before submitting, but the About box just copies info to the clipboard which the user pastes into the bug report - in theory they should read through what they've just pasted & could remove something if they felt it was necessary.
 
@FreeMan that seems wise.
 
I have my moments!
 
while I agree that'd be nice consider also that it may end up listing add-inst hat they don't want to disclose (e.g. private add-ins?) too slow
 
hence the 2nd thought
could we also identify the amount of memory installed in the machine and, for bonus points, how much is currently in use by the host app?
 
12:46 PM
i'm sure that is possible
 
These are the questions that end up getting asked of those who are reporting these types of issues. I'm just thinking that it would be handy to get them answered up front.
 
Plus, for those who just copy/pasta that data in, it would allow us to kinda/sorta get a feel for what the user base is running on
I'd do it once just for those purposes...
 
> I agree that setting is also a better place but only if it affects more than just CE. Surely the font change would be useful everywhere, not just in CE, no?
 
@Duga yup
That should be 1 setting, in the general tab
 
12:51 PM
> Especially in light of #4635 would it be possible to parse all installed plugins when the RD starts up and write them to the log with the other environment settings or put them in the "About" dialog box to be copy/pasta'd when reporting a bug? Additionally, reporting the installed memory, and if possible, the amount currently in use by the host app would be some extra credit bonus points.

In the log could be considered (by some) a privacy issue since it reports what you're running and a lo
 
@this @FreeMan hold on so the name of an unknown 3rd-party add-in built in-house that nobody knows anything about, is a privacy concern? I don't see the problem. It's not like we're tweeting "FreeMan is running MZ-Tools, the traitor!" or anything like it....
Or storing the info anywhere
 
Personally I don't even care.
 
OP knows what they're pasting, they're free to curate as needed IMO
 
@MathieuGuindon no, but GDPR (or whatever just went into effect this summer in the EU) is pretty broad. By pasting it in the bug report and submitting, the user is "consenting" to give us the info. By "hiding" it in the log, it's less discoverable.
 
^ My comments was written too slow before Freeman added the c'n'p idea.
If there was no copying'n'pasting involved, then yes, that's a potential privacy concern because user don't know what they are actually sending us.
 
12:54 PM
@FreeMan ok but then you're uploading your logs without even looking at what's in them?
 
None of us really care, but just in case some company gets cranky about it...
 
I would agree if the logs were transmitted to us automatically, but that is not the case
 
@MathieuGuindon Yup - when I first started posting issues, I looked at the first log and hadn't a clue what I was look at. I've got a better idea of what I'm seeing in there now, but there's still a lot I'm not groking. If "environment" were the first 10 or 20 lines, I'd probably recognize that and edit if I felt it was necessary.
 
How about a setting (opt-out?) to control how much info gets logged about the environment?
@FreeMan it's... always at the top of the log
 
I'm not saying that the About box is better than the log - I was just pointing out that it might be considered (by some) an issue, and proposing an alternative .
 
12:56 PM
IDK. nobody'll know about that until the time to report a bug
(which by then is too late, since log is already written)
 
One could, without a doubt, edit things out of the log before submitting. Putting it in the "about" box data makes it more discoverable that this info is being provided.
I'm up for either/both methods - I just wanted to point out that some might consider it an issue.
 
Yeah, I like the idea of an email-like format where log & environmental is shown so they can click the button to send. Easy to send us a new issue without going "I did not realize you knew so much about me!"
 
back to work - time to figure out why October's numbers look different on the November report than they did in October. :/
 
> I very much like the idea, but most users don't bring up the about box to post this info, they just upload the logs.
By uploading logs, they consent to share its contents. I have a hard time believing someone that's concerned about privacy (however irrelevant and petty that might be in the case of RD logs), would just blindly upload a plain-text log file without first vetting its contents.
 
@FreeMan assuming anyone goes to the about box
 
1:04 PM
true. but if they didn't include it in the first post, it's a very simple thing to ask them for in a follow up instead of asking 10 questions (roughly ;) as happened in #4635.
 
@Duga Hey, I liked my Russian transliteration sounding spelling!
 
gets more coffee
 
1:40 PM
weird... I generated some reports for October data last month. I compared the October month data in last month's report to the October data in the Nov report I just produced - there were some mismatches! I pulled the copy of the Oct report I emailed to my boss - the Oct data in that copy exactly matches what I just produced in the Nov report. I now have no idea where the copy I have stored came from.
sigh
 
> I very much like the idea, but most users don't bring up the about box to post this info, they just upload the logs.
By uploading logs, they consent to share its contents. I have a hard time believing someone that's concerned about privacy (whatever is deemed "sensitive" in RD logs...), would just blindly upload a plain-text log file without first vetting its contents.
 
@FreeMan backdated invoices & credit notes would do that
 
Yeah, unfortunately we often get that - the data is collected on iPads, and they'll drop off the wifi and quit syncing. We have a "monitor" who is supposed to ensure (once a month) that it's online and has sync'd all data and reports to me that this has been checked. Even with that, I just found 5 records for Oct that didn't sync & get loaded until yesterday.
 
Auditors must be having a blast!
 
the weird thing is that my network stored copy of the "final" report had different numbers on it than the copy in my sent items folder in Outlook. Those were supposed to be the same report and shouldn't have been different.
Fortunately, none of this is that mission critical. They're just customer surveys. Though, with the amount of angst that flows when the numbers dip, you'd think a 0.01 drop in NPS was the same as loosing $5 Mil in a month.
well, on the bright side, my numbers now match what I reported last month so I can send this month's report out.
 
2:12 PM
I managed to throw my back out even worse and lock my whole body up :(
 
2:29 PM
That takes some mad skillz!
Sorry to hear that. Hope you don't miss the Christmas party and that it doesn't ruin your vacay - it's pretty obvious you've been looking forward to it.
On a totally unrelated note, this is something you don't often see when doing some online shopping:
Special On sale today only! 50¢ more, just for our valued customers. Join our Insiders program for insider pricing, you could pay 99¢ more!
 
> > If that is the case, then the workaround would be to define the class procedure as taking a Variant rather than an ParamArray. If the class procedure is public/friend, then both the class procedure and the interface procedure should call an internal procedure that takes a Variant rather than ParamArray.

This is a much easier and cleaner approach. The minor difference is that instead of having a list of items in the parameter list, the list of items is enclosed in an Array() statement.
 
I would much rather live in the city of poo falls, than the city of poo lake. I'd also much rather live in the city of poo falls than the City Below Poofalls... — Haakon Løtveit 2 days ago
 
lol
@FreeMan wut... #MarketingFail
 
> I can definitely see a change signature refactoring that, when changing a ParamArray to a Variant, changes the call sites from foo, bar, 42 to Array(foo, bar, 42).
 
2:44 PM
@Duga ? why?
that's not as clean and shifts the burden to the caller
 
2:58 PM
@MathieuGuindon Ok, I made the tag line up myself, but, you know, that's how it read in my head...
 
@this change signature can't work atm; for that we need to know exactly when a signature is modified, and offer the refactoring immediately (like R# does). picking up that the last parameter was ParamArray and now it's Variant, we could offer to modify the existing call sites accordingly...
change signature doesn't change a signature, it merely propagates to call sites changes made by the user to a signature
 
but that's a different solution than the one I was suggesting.
furthermore, it changes the semantics - with a Variant, it is now possible to send in an non-array parameter, which can muck up the works if you are not handling for both non-array and array parameters.
 
> If that is the case, then the workaround would be to define the class procedure as taking a Variant rather than an ParamArray.
if there are existing callers, they're broken
or I misunderstood which procedure "the class procedure" stands for.. the whole setup on that issue is confusing, with the interface uselessly mudding the waters
 
3:15 PM
see the very next sentence
> If the class procedure is public/friend, then both the class procedure and the interface procedure should call an internal procedure that takes a Variant rather than ParamArray.
it was not clear to me (at that time) whether it was a private procedure.
IOW, instead of daisy chaining the ParamArray procedures, they should redirect to an internal procedure which means no change on the public interface is needed.
(mind, I use the word "interface" more loosely here)
 
yeah. IMO that's on the user though
 
Office closes in 1:15 for the day :)
Then we've got a party.
 
RD should warn about daisy-chained ParamArray args
 
I got a ride to the party (I can't drive, I'm so locked).
 
@Hosch250 nice!
 
3:17 PM
Company meeting, followed by entertainment (last year a magician), then lunch.
I'm going to a chiropractor tonight, unless he's out of town.
 
Right. So, if they opt to change from ParamArray to Variant, they're welcome to it, but that does means more than just changing the call signatures since the interface is now different.
 
> Don't say "I was escorted out by armed guards" where you can say "My manager was disappointed enough to let me go"
 
Hosch250, I'm sure you'll have fun!
 
Yep!
 
@this yeah. there's a reason RD doesn't have a change signature refactoring - it's a complicated one, ...might be even more complex than extract method!
 
3:19 PM
@MathieuGuindon #wuuuut?
 
really? Isn't the change to the body the user's problem?
 
@MathieuGuindon the newest answer on that question is ....
poor TWP mods
 
@this R#'s change signature propagates to every affected signature (e.g. interfaces) and call sites
have you ever used it? it's pretty awesome :)
@Vogel612 "is that you, Hillary?"
 
yea. exactly.
 
I doubt so and I think that's awesome
 
3:27 PM
@Duga FWIW I think we are basically scot-free in that regard, but our users may not be. AFAIK we're explicitly trying to not log any code unless the log-level is TRACE
if we made that a policy we could make the settings page give a warning when the user selects TRACE
 
we could do that
 
@MathieuGuindon LOL.
 
we'd probably need to review all logging calls and make that an explicit guideline for contributors, as well as checking for it in PRs, but I think it might be worth the effort
 
what about the initial installation though?
remember that I changed so taht we ship with trace enabled by default
which is then turned off after a first successful run
 
@this could default to DEBUG instead
the idea is just to make sure we log any exception at stratup, no?
WARNING or even ERROR might be sufficient
 
3:31 PM
in that case, error should suffice, right?
 
yeah. I guess I went a bit overboard on that.
NEED ALL DATA!
2
 
Dunno, WARNING seems like a not-terrible default overall
then again data-sparsity dictates to default to "OFF"
 
There's one more alternative. We can make it an install-time configuration
Nah. That's just more useless decisions for the users.
 
[x] Just do your thing
[ ] I have privacy concerns and wish to review everything
 
3:36 PM
Remember that the default behavior with users is to just blow through the pages clicking Next like there's no tomorrow
 
brf.Sheets("brf") - must... resist....
 
then they go all WHY DID NOT YOU TELL ME?!?
@MathieuGuindon well that is barfworthy.
 
unintentionally sparked quite the debate. Don't forget, the log is being manually provided by the user reporting an issue, not automatically uploaded. Usually, a new user would have to be prompted to provide it anyway. We could provide a warning with that prompt on the GH issue. This, of course, requires everyone here to remember to do that when issuing the prompt...
 
it's definitely a catch-22 CYA thing, and it sucks. we're damned either way, so if users are allowed to be lazy, I vote for laziness on our part.
 
^winner, winner, chicken dinner!
 
3:39 PM
what's up with the chicken dinner?
 
makes life easier for everyone except the handful that are paranoid about non-issues such as "OMG PROCEDURE AND MODULE NAMES ARE IN THE LOGS!!"
 
it's what the winner, winner gets.
 
but suppose the winner is a vegan?
 
frankly, the first time I looked through the log, I was more baffled by seeing somepath\comintern\somemorepath or path\hosch250\file than anything I'd written...
^^ tough.
 
ya that's a build artifact though
 
3:41 PM
@this I'm really starting to hate 2018
 
and it should be C:\rubberduck-vba\Rubberduck\... now
or at least close to it... I don't recall what it is exactly :D
 
@FreeMan that ...dates back from pre-AppVeyor I think
 
@Vogel612 - that was explained to me - more than anything else, that is what stood out, not that there was a procedure name of mine in there - I'd expected to see that.
@MathieuGuindon so do I. :)
 
@MathieuGuindon I apologize profusely.
 
^ on behalf of all of 2018?
 
3:43 PM
That I cannot do.
 
or just the part that's happened so far?
 
I can only apologize for my contributions to it.
 
:)
 
Miscontributions?
 
but... but... what about mistercontributions???
 
3:44 PM
I'm not sorry about 2018.
It wasn't a bad year as far as I'm concerned.
 
bah. managed to hang my Access process. :/
 
Try and run it headless. Then it can't be hanged.
 
I think at this point, the UK should assume a hard-Brexit is going to happen and start talks directly with their neighbors and trade partners to get deals in place in case it does.
Worst case, a hard-Brexit happens and they already have deals signed that go into effect the same day, or ready to sign. If they don't, worst case is a hard-Brexit happens and there are a few weeks or months or years of deadlocks with bad blood growing because of the time in which trade, etc deals aren't in place.
Time to get ready for our party.
 
4:09 PM
Party on, Wayne! Party on, @Hosch250!!
 
not sure if he even has seen Wayne's World.
 
mumblemumblekidsthesedaysmumblemumble
we told him to go watch Office Space when he got his first "real job", maybe now's a good time to watch Wayne's World - he's got vacation coming up.
 
it's kids-appropriate, too. It conveniently tells you when it's sex scene!
 
4:38 PM
Ferris beulers day off.
I’m at company activity today also.
Does it make me weird that I’d rathwr be working on learning MVP?
 
depends on what your cow-orkers are like socially...
 
Wow. Claw game full of rubber ducks.
 
can you win enough for some swag?? :D
 
How do you upload a photo on phone? FML I feel old asking that.
 
5:24 PM
@Hosch250 I agree with everything except "at this point" - we should have done that 2 years ago...
 
5:59 PM
@mansellan I should have started buying gold 2 years ago when this whole deal started. :-D
 
6:11 PM
ugh. broke my own rule that all DB changes should be scripted and stored in carefully named files so that as dev changes are made they can be properly played back into production when the associated VBA code is moved to prod.
Spent 1/2 of yesterday and all day this morning trying to figure out what the heck was wrong - One table didn't get updated. :(
 
maybe consider investing in some sql synchronization tools.
there are several and they pay for themselves easily.
(maybe except for Redgate. They cost an arm and a leg)
 
6:33 PM
> I tried to upgrade Rubberduck from `v2.3.0.4221` (which worked splendidly) to `v2.3.1.4308` and was greeted with the following error upon opening the VBE:

![rubberduck-error](https://user-images.githubusercontent.com/1111348/50020588-6b04db80-ffa4-11e8-9595-5360f93504f9.png)

System:
- Windows 10 (Version 1803, Build: 17134.471)
- Office 2016

The corresponding log file is attached:
[RubberduckLog.txt](https://github.com/rubberduck-vba/Rubberduck/files/2681303/RubberduckLog.txt)
 
6:46 PM
@Duga I like how public key tokens are <redacted>
 
Some of us don't have the depth of knowledge to know the difference yet. If it looks like it could be identifying, better safe than sorry...
 
7:12 PM
@MathieuGuindon want to take a stab at those unallocated arrays in stackoverflow.com/questions/53785180/…
 
my guess is that OP left out the Class_Initialize handler that sizes the arrays
but, good point
 
ahhhh fair
whole thing seems, to quote you, "hackish"
 
BigBen raises a good point: your arrays aren't initialized, so assigning to an index will throw error 9 / index out of bounds - unless you've simply omitted the Class_Initialize handler that initializes them. — Mathieu Guindon 6 secs ago
@BigBen the "hackish" thing is to have a Property Let(variant) assign to an object reference - it works, but it's not idiomatic and makes for rather confusing client code (no Set keyword, but assigns an object reference? wtf?!)
 
yesss indeed. I meant it more in the sense of "oh, let me see if I can hack this thing together, without really understanding classes"
 
:)
"I tried various combinations" is a key hint there
 
7:17 PM
lol
 
That's why they wised up and did away with the artificial let/set distinction in later languages.
 
to be fair, indexed properties are confusing.
 
oh I completely agree.
 
just to clear something up - what is this exactly in C#, then? foo.bar[baz]?
 
public string this[int index] => _internal[index];
yeah
wait no, it's foo[index]
 
7:22 PM
couldn't you create a property bar[]?
 
why though?
 
which would make it possible to go foo.bar[baz]
because I read here before that C# can't do indexed properties
 
then you lose encapsulation on the array
@this no, they do indexers instead :)
 
hmm. too subtle that I missed it, i guess.
 
in VBA you would typically name it Item, make it the default member, and access it just the same as in C# - foo(index), i.e. foo.Item(index)
 
7:24 PM
-_-
0
Q: what does a "/" mean after a sql statement

KySotoI have a script that we are using to update our ERP database to a new version, UPDATE ENUM_CODES SET COLUMN_NAME = 'PAY_STATUS' WHERE TABLE_NAME = 'PAYABLE' and COLUMN_NAME = 'STATUS' / but i dont know why it has the / after the update portion. Does anyone know what that / means?

 
oh wait, so when we say indexed properties, we imply that an implicit member access is involved?
 
not necessarily
only if the getter has VB_UserMemId=0
...but then, that's the convention
 
> `C:\Projects` is an artifact of the .pdb debugging info from the build server - that directory is where RD is being built, in the AppVeyor CI environment: it can be ignored.

The assembly pubic key tokens aren't sensitive at all, they're just *public* IDs for known assemblies, namely `Office.dll` v12.0 in this case (key tokens are identical for that assembly, on every machine in the world); the 12.0 is from the Primary Interop Assemblies we're building with: it's the earliest version Rubberd
 
right - so even without that, we would write Foo.Item(index)
 
7:26 PM
which can be done equivalently in C# with foo.Item[index]
but thankfully, C# almost never use that god awful .... thing.
 
only if Item is exposed, which is a bad idea IMO
 
^
 
you'd do foo[index] and protect the internal data instead
otherwise you might as well make the backing array field public
(assuming a backing array)
put it this way: if Item is a List<T>, by exposing Item, you allow the client code to do foo.Item.Add("ha")
or .Remove("gone")
and then foo.Item[i] is just a member (indexer) call on List<T>
otoh when you expose it as foo[i], you're in charge
and you're not exposing the underlying data structure
 
@MathieuGuindon just checking - office will still be 12.0 even though they're using later office version?
he say he's using 2016, and I almost thought there was a version mismatch but I actually don't know for a fact if the PIA loading will automatically show the latest version like VBA would do with its host's object model reference.
 
RD works fine on Office 2016 here... not sure what broke there
 
7:36 PM
i need to find out how it behaves on a later version whether PIA will show 12.0 even so or if it'll load 16.0 instead
 
> Wait a minu
The fact that access was denied makes me think that there is some external factors involved. So we need to follow up with some questions

1) Was the workbook read-only, or on a read-only media?
2) Was the file in a trusted location?
3) Did you try to open the VBE without enabling the contents?
4) Can you reproduce with a different or a blank workbook?
5) Given that you are the only one to experience this, can you compare the add-ins you have installed (both Excel and VBA)
> The fact that access was denied makes me think that there is some external factors involved. So we need to follow up with some questions

1) Was the workbook read-only, or on a read-only media?
2) Was the file in a trusted location?
3) Did you try to open the VBE without enabling the contents?
4) Can you reproduce with a different or a blank workbook?
5) Given that you are the only one to experience this, can you compare the add-ins you have installed (both Excel and VBA) between you a
 
I got RD to load fine with a read-only workbook with macros disabled :(
 
I don't think they'd be a factor, TBH.
Just want to exclude derpossibilities from the list.
 
@Duga @this Just catching up, where are you seeing that access was denied for something?
 
sez so in the log
 
7:40 PM
in the stack trace
 
which is totally weird
you shouldn't be getting a access denied on the mso.dll
 
2018-12-14 13:29:31.0385;FATAL-;Rubberduck._Extension;Startup sequence threw an unexpected exception.;System.IO.FileLoadException: Could not load file or assembly 'office, Version=12.0.0.0, Culture=neutral, PublicKeyToken=<REDACTED>' or one of its dependencies. Access is denied.
File name: 'office, Version=12.0.0.0, Culture=neutral, PublicKeyToken=<REDACTED>'
   at Rubberduck.VBEditor.SafeComWrappers.VBA.VBE.get_CommandBars()
   at Rubberduck.Root.RubberduckIoCInstaller.RegisterConstantVbeAndAddIn(IWindsorContainer container) in C:\projects\rubberduck\Rubberduck.Main\Root\RubberduckIoCInsta
 
Gah, side scolling
 
that said I kinda dislike that we're throwing System.Exception here, without e as the InnerException
<REDACTED> public key tokens are cute
 
Yeah, I found that amusing.
 
7:44 PM
not sure where you see that - it looks like the exception is caught in Extension.cs?
 
@this it's a System.Exception thrown after the msgbox is shown; stack trace points to Extension.cs line 240
     throw new Exception("Rubberduck's startup sequence threw an unexpected exception. Please check the Rubberduck logs for more information and report an issue if necessary");
 
but on line 236, we log it already....
 
yes
which makes the logs uselessly confusing; the stack trace at line 240 is useless
the exception is only thrown to be caught here:
            catch (Exception exception)
            {
                _logger.Fatal(exception);
                System.Windows.Forms.MessageBox.Show(
#if DEBUG
                    exception.ToString(),
#else
                    exception.Message.ToString(),
#endif
                    RubberduckUI.RubberduckLoadFailure, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
 
and that itself gets re-logged, too
 
yup
It's all that simple: VBA doesn't support method overloading. — JohnyL 2 mins ago
hth does that even remotely relate to the OP
 
7:53 PM
if you had mod power you could rename him to RandomFunFacts
 
^ totally
then get banned for life
#WorthIt
 
@mansellan Unfortunately, I'm not a time traveler, so I'm just looking to reduce the damage going forward ;)
But yeah, that would've been the smart thing to do.
 
00:00 - 20:0020:00 - 00:00

« first day (1652 days earlier)      last day (1528 days later) »