« first day (754 days earlier)      last day (2426 days later) » 

8:08 PM
@Mat'sMug Yeah, don't delay the release for my feature. I'm making progress, but there are still some issues to sort out before I'd consider merging.
 
This should be a quick hit fix:
 
An update on it: I converted the toolwindow to a dialog and it seems to be working (was a relatively simple modification).
 
That's the only keyboard shortcut left in the RD menu. I checked the others
Though, it would be super cool if the keyboard shortcuts in the menu updated based on the settings!
:):):)
 
Also I can now pull in a list of references and display which ones are currently referenced in the ActiveProject. AND I can add/remove references from the ActiveProject!
 
> It would be nifty if the code could identify any `Workbook` variables active in the procedure (local or parameter), and dynamically add them as quick fix options.

Of course, I have **no** idea how much work that would take, but it would be a braggable feature!
 
8:16 PM
Holy quacamole! You guys are way ahead of me - RD already does that!!!
never mind... well done lads!
 
lol
 
> @Hosch250 @retailcoder Where do you think the menu command should be located? Off the root of the RD menu? Then I can probably give you a preview.
> @daFreeMan you mean add a `Workbook` parameter to the procedure, and update all call sites? :wink:

Nah, there's just too many ways this could go wrong. We'd be making assumptions that would be wrong 99% of the time!
 
@Rossco Either that or in Navigation.
 
Above the Settings option?
 
Sure.
 
8:22 PM
OK, will implement correctly with Enum ordering.
 
@Comintern Do you have any idea of what might be causing the host to not close properly now?
 
@Rossco no worries, I'm not going to start begging for a PR until we're ready to go with 2.1
@Duga 220 stars!
 
Yeah, I think I have a memory leak. I'm not happy with the amount of memory used.
 
RD is heavy
gosh, RD is really starting to feel like a "R# for VBA" now
 
RD has a memory leak in general.
 
8:32 PM
^ also
 
Yeah, cost expensive, but not yet bloated.
It'll be getting bloated soon enough :P
 
> No, I mean identify all existing workbook variables and present them as Quick Fix options in addition to ActiveWorkbook and ThisWorkbook. We don't want to encourage poor coding habits. Also, isn't there an inspection yielding some sort of warning for This|ActiveWorkbook usage indicating that it's quite potentially fragile?
 
I'm intercepting the viewmodelbase calls.
 
> No, I mean identify all existing workbook variables and present them as Quick Fix options in addition to ActiveWorkbook and ThisWorkbook. We don't want to encourage poor coding habits. Also, isn't there an inspection yielding some sort of warning for This|ActiveWorkbook usage indicating that it's quite potentially fragile?
 
@Hosch250 Not off hand, I'll attach a debugger to Excel and see if I squeeze anything out of it.
 
8:33 PM
It's a pain because half the time we rely on a particular type (I did that for type safety) when we don't need to at that particular point.
Thanks.
 
> That's fair; I am using the bleeding edge release, after all.

When I click "Ok" in the clone dialog as per [the wiki page](https://github.com/rubberduck-vba/Rubberduck/wiki/Source-Control:-Getting-Started) linked to above, Excel crashes with the message, "Excel has stopped working," and no more information. Excel crashes and restarts and nothing has been cloned to the local directory on my computer.

I'm using Windows 7, VBA 7.0, and MS Office Pro Plus 2010. Any suggestions?
 
Darn, now it can't instantiate one of them...
 
> Actually, no. We keep getting reports about that, but I can't reproduce them :/ Are you cloning a GitHub or BitBucket repo? Is it public or private? In the last release, I fixed a crash caused by cloning a private BitBucket repo, and I've successfully cloned public GitHub and BitBucket repos multiple times. I cannot test cloning a private GitHub repo because I don't pay for my account, but it shouldn't happen... Also, is the repo you are cloning empty? That shouldn't be an issue, bu
 
@Mat'sMug Guess what? Injection doesn't work with interception.
 
> There isn't. ThisWorkbook is completely unambiguous BTW, and explicit references to ActiveWorkbook can be completely legit.
 
8:40 PM
@Hosch250 what are you talking about?
 
Injection and interception.
 
DI interception can only work with DI
 
Exception thrown: 'Castle.DynamicProxy.InvalidProxyConstructorArgumentsException' in Castle.Core.dll

Additional information: Can not instantiate proxy of class: Rubberduck.UI.UnitTesting.TestExplorerModel.

Could not find a parameterless constructor.
 
interesting
 
But... some of the commands don't have parameterless ctors...
Maybe its the way I do it:
Kernel.Intercept(p => p.Request.Target.Type.BaseType == typeof(ViewModelBase))
    .With<FatalExceptionInterceptor>();
That shouldn't matter AFAIK...
 
8:43 PM
@Hosch250 that's because the kernel doesn't know about the ctor arguments
 
It works without it...
Kernel.Get<TestExplorerViewModel>()
 
4
A: Ninject interception proxying class with non empty constructor via castle dynamic proxy

BatteryBackupUnitLooking at the proxy generating code: https://github.com/ninject/ninject.extensions.interception/blob/master/src/Ninject.Extensions.Interception.DynamicProxy/DynamicProxyProxyFactory.cs if (targetType.IsInterface) { reference.Instance = this.generator.CreateInterfaceProxy...

in other words:
Ah ok so if there are any constructors which have ambiguous dependencies it wont know what to do and blows up. — Grofit Mar 12 '14 at 11:56
 
Like I said, it works without it full injection style.
So, the solution is to make a marker interface. Ok...
Seems like this interception adds 3 smells for every one it removes.
 
or you could do it right
3
A: Ninject interception proxying class with non empty constructor via castle dynamic proxy

BatteryBackupUnitAn alternate approach would be to use a convention based binding for all classes with a method with a [Logging] attribute. However, this means that adding a [Logging] attribute to a method will influence the binding of the object, which may be undesired. So this is how it would work (verified to...

nobody said a marker interface was a requirement
 
What if I want all members logged?
 
8:48 PM
then stick the attribute on the type, and make the interceptor account for it
(from the author of Mastering Ninject for DI)
 
> I'm cloning a private Github repo.

Since there are now unlimited private repos I've created a private one and added you, @Hosch250, as a collaborator. Go nuts.

The repository I tried to clone isn't empty since the instructions on the wiki page said to create a readme file anyway. I tried using the repo that somehow magically got everything I wanted in it yesterday, but on a different computer with a completely fresh install of RD v2.0.3b.
 
@Duga "go nuts" lol
 
> ThisWorkbook is completely unambiguous until you have a long running process and the user gets bored and clicks on another workbook.
 
TTGH. see ya!
 
8:53 PM
later!
 
> @daFreeMan no. ThisWorkbook always refers to the workbook the code is in, regardless of the selection. You mean ActiveWorkbook, which changes at user's whim.
> I just cloned it and committed a new file from Rubberduck. Everything worked as expected.
 
so.... so it works then?
I mean, @brab got it to work, off a fresh install?
 
I don't know. Cloning GitHub and BitBucket public and private repos works here...
And committing and pushing does too.
 
> @brab so it worked, only, off a fresh install? this looks like a possible glitch with the source control config file then. do you still have the source control configuration file for the failing install?
 
@Hosch250 Morning... I will check as soon as I get home (Friday), as it happens we're 4 hrs north spending time with family :-)
This laptop ain't going to run RD
 
9:02 PM
@SlowLearner you'd be surprised :-)
 
May 11 at 15:50, by Mat's Mug
@Hosch250 seal the class, it removes all the complexity from properly implementing IDisposable
It makes it impossible to intercept anything.
 
argh dammit that's completely right
 
Anyone ever use dotMemory?
 
@Comintern Yes.
 
@Mat'sMug Ok... I admit it... it might run RD. Doubt it will run office though ;-)
 
9:13 PM
Does it automatically detect memory leaks, or do you have to sift through all the profiling data?
 
You have to sift through the data.
 
Damn. I'm looking for something more like Valgrind.
 
What you do is take two snapshots. It will do the comparing, and you just have to see how many of what types were created/destroyed between the snapshots.
I may have been using it wrong, why don't you try it yourself?
 
Although I'm guessing writing a memory profiler for managed code is a lot harder than for unmanaged code.
 
9:16 PM
Oh, I didn't know about Step 4.
 
The thing I really like about Valgrind is that it will detect mixed mode memory issues - it basically monitors the machine code from the JIT instead of the assembly itself.
There really isn't that much tooling for mixed mode profiling out there that I can find.
 
> I haven't had it work successfully for me yet, no. I'll try the new repo on the new machine in a little bit and get back to you; just heading into a meeting.

I'll also grab the gitconfig for the existing, failing repo and post it here.
 
10:21 PM
> I wasn't thinking before. There isn't a gitconfig for the failing repo because nothing has been cloned.

I just tried to connect the [private repo](https://github.com/brab/rubberduck-test) that I created earlier and I got the same failure. I also created a [public repo](https://github.com/brab/rubberduck-test-public), tried that and got the same error again.

I wonder if there's a logging in to Github step that I'm missing? I've provided my username and email in the Source Control setting
> No, this shouldn't matter. If it detects there is a 401 error, it will display the login screen. Hmm, that would be an interesting bug if GitHub returned the 401 error in a different language--we hardcode the value to tell it apart from other errors. It wouldn't ask for it for a public repo, anyway, though.
> No, this shouldn't matter. If it detects there is a 401 error, it will display the login screen. Hmm, that would be an interesting bug if GitHub returned the 401 error in a different language--we hardcode the value to tell it apart from other errors. It wouldn't ask for it for a public repo, anyway, though.

How exactly are you doing this? You do have an empty project in the VBE, right?
> @brab nah, I was referring to the SourceControl.config file, which is an XML file that contains information about what repositories Rubberduck knows about (nothing sensitive, just project names and paths).. @Hosch250 where's that file saved again?
 
TTQW
 
> Right by the other config file in C:\Users\{username}\AppData\Roaming\Rubberduck.
 
@Mat'sMug I can't figure the bloody interceptor out.
I looked at your attribute thing, but that is just used as something to trigger the interception on--it doesn't fix the no-parameter issue (except with the interfaces).
 
Did you read the blog post?
 
Yes.
I could write an interface for each VM, but that would be stupid.
 
10:36 PM
Don't make interfaces for the heck of it.. I'll take a look tonight if my wife lets me anywhere near my computer
 
OK.
I've spent a couple hours at this :/
 
> Right now I'm just opening Excel, pressing Alt-F11 and then opening the Rubberduck -> Source Control menu option. From there I'm clicking on the clone button, entering "https://github.com/brab/rubberduck-test-public into the Remote Path text input and clicking Ok. Then I get the error and Excel crashes.

Here's the config after performing the above:
```
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<SourceControlSettings>
<UserName>brab</UserName>
<EmailAddress>githu
> That looks about right.
> Right now I'm just opening Excel, pressing Alt-F11 and then opening the Rubberduck -> Source Control menu option. From there I'm clicking on the clone button, entering https://github.com/brab/rubberduck-test-public into the Remote Path text input and clicking Ok. Then I get the error and Excel crashes.

Here's the config after performing the above:
```
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<SourceControlSettings>
<UserName>brab</UserName>
<EmailAddress>github
> That looks about right. Which Excel screen do you see when you open it, the default workbook one?
> That looks about right. Which Excel screen do you see when you open it, the default workbook one?

![](http://imgur.com/Lc44ktM.png)
> When I open Excel I see the default workbook. When I open VBE I see an empty main pane and on the left I see a "Project - VBAProject" pane with "VBAProject (Book1)" expanded with three sheets and a "ThisWorkbook" object. Below that I see a "Properties - Sheet1" pane with a number of properties enumerated below.
> When I open Excel I see the default workbook, similar to your screenshot above. When I open VBE I see an empty main pane and on the left I see a "Project - VBAProject" pane with "VBAProject (Book1)" expanded with three sheets and a "ThisWorkbook" object. Below that I see a "Properties - Sheet1" pane with a number of properties enumerated below.
> Yup, that sounds exactly right.
> Oh wow, I just duplicated this with the release build, but not with the debug build.
 
11:08 PM
> Interestingly enough, I can't duplicate it with the latest build compiled into a release, although I can reproduce it with the last release.
> Interestingly enough, I can't duplicate it with the latest build compiled into a release, although I can reproduce it with the last release.
 
11:24 PM
@Duga so.. fixed then?
 
Well, we'll see what he says.
 
Or wait, only fails on a release build?
 
@Mat'sMug It doesn't fail in the latest release, but it didn't fail in the debug before that release either, AFAIK.
So, I don't know what's up with it.
 
...
 
> We handled Line recently, and Print and PSet look normal:

https://msdn.microsoft.com/en-us/library/office/ff195586.aspx
https://msdn.microsoft.com/en-us/library/office/ff197683.aspx
 
11:29 PM
Boy, I wish I could duplicate that...
 
> Would one of you who can consistently reproduce this check whether the Code Explorer sees the project before it is removed? If Rubberduck doesn't know about it, I might as well just check for a null project and not try to remove it. If Rubberduck does know about the project, something is pretty seriously wrong.
> Thanks!

When I use that release I get a "Rubberduck Add-In could not be loaded" error when I launch the VBE. The last two code identifying lines of the traceback read:

```
2015\Projects\Rubberduck\RetailCoder.VBE\Root\RubberduckModule.cs:line104
C:\Users\hosch\Documents\Visual Studio 2015\Projects\Rubberduck\RetailCoder.VBE\Extension.cs:line47
```
 
@Duga no good
@Duga could this have anything to do with the odd failing Debug.Assert calls?
 
> Thanks!

When I use that release I get a "Rubberduck Add-In could not be loaded" error when I launch the VBE. The last two code identifying lines of the traceback read:

```
2015\Projects\Rubberduck\RetailCoder.VBE\Root\RubberduckModule.cs:line104
C:\Users\hosch\Documents\Visual Studio 2015\Projects\Rubberduck\RetailCoder.VBE\Extension.cs:line47
```

I'm actually on my way out of the office now and will be back on Monday (I'm in Canada), so this is going to have to wait on my end. Tha
> @brab not fair! I only have Friday off! :'(
 
11:47 PM
> Set sch = Application.AdvancedSearch(strS, strF, ?Test?)
@Mat'sMug That's an artifact of character-code loss as documentation has moved from platform to platform inside MS. Those ?'s probably used to be curly-quotes, which probably started off as regular-double-quotes.
but now that they've added the documents to Github, the content needs to work in Markdown too, but they haven't fixed things like SELECT * FROM emp; to be markdown friendly.
sometimes you can work out what the original intent of the code/article was, but sometimes it's just cryptic.
 

« first day (754 days earlier)      last day (2426 days later) »