« first day (1155 days earlier)      last day (2025 days later) » 
00:00 - 23:0023:00 - 00:00

12:01 AM
RELOAD!
[retailcoder/Rubberduck] 26 commits. 7093 additions. 5330 deletions.
[rubberduck-vba/Rubberduck] 1 commit. 2 opened issues. 3 closed issues. 31 issue comments. 3276 additions. 2706 deletions.
[Zomis/FactorioMods] 1 issue comment.
 
12:25 AM
weekend project: host a PowerPoint presentation in a VBE ToolWindow
2
 
12:50 AM
hmm, these seem to be reserved identifiers in my vbProject:
_#ImmedModuleVar#_
_Evaluate
0_#ImmMod#_
Prof_WBOpen_Timer_Event
_ImmedProc
_pProject
_pFrame
 
1:20 AM
> @daFreeMan
I'm not sure what you mean.
I was just saying before I appreciated how quickly you responded to the length report of various issues/suggestions/concerns. So thanks again for that 😃
> @daFreeMan
I'm not sure what you mean.
I was just saying before I appreciated how quickly you responded to the length report of various issues/suggestions/concerns. So thanks again for that 😃

Ah, I see, I thought might have just been wrong link. I didn't find one clear unload-specific issue in cursory search either, so release notes make sense.
> Ah, that would do it! :smile:
Can the toolbar be added permanently instead and/or with default placement into existing toolbar row, if no other major reasons preventing that?
> That would be a trivial fix.. not sure about placement though - we just .Add the commandbar, nothing tells anything to put it anywhere specific.
> Great. Just making permanent would be fine, as users can easily reposition one time after that if wanted.
 
@Duga IIUC, automated placement isn't possible, but user-customized placements are persisted, for non-Temporary CommandBars
 
 
2 hours later…
3:10 AM
@BrandonBarney thank you for understanding the sequence @IvenBach I was attempting to solve an education proble. For I forgot which issue raised by someone who wanted help with access and specified the training expected so I suggested this model to go about it.
 
@Mat'sMug - While trying to embed a PowerPoint slide in a WinForm, I found this SO answer that grabs an existing PowerPoint application, and reassigns its parent window to the WinForm.
8
A: Embedding a Powerpoint show into a C# application

slothYou can just run PowerPoint, get the windows handle, and set a new parent window using the SetParent function. All you need is the name of the window class of the PowerPoint window, but thanks to Spy++, this is no big deal. Here's a screenshot of PowerPoint running 'inside' of a custom ap...

made me wonder whether RD could use a trick like that. i.e. ToolWindow content could be a completely different application.
 
3:26 AM
I'm guessing that's how comintern put controls in the VBE windows too.
Hmm, yep...
May 17 '16 at 3:20, by Comintern
I don't see why not. The method I'm using is just using calls to SetParent to inject the control into the MDI child.
 
4:00 AM
> Here's a list of tokens (in their original order) extracted from an Excel 2013 32-bit memory footprint (using HxD)...

Presumably a 64-bit host would add `LongLong`, `CLngLng` and `DefLngLng` to the list.

IDK why `0` is a token...

**EDIT**
This list seems to exclude `Format`, `Debug` and `Print`

```text
Enum
Object
\
.
#
Module
)
Error
Integer
Long
Single
Currency
Date
String
Boolean
Decimal
Array
(
,
"
Me
?
0
Abs
Access
AddressOf
Alias
And
Any
Append
 
 
1 hour later…
5:21 AM
^ Where does the declarations section end?
 
 
1 hour later…
6:49 AM
@Mat'sMug If we put a dummy toolbar in the MsoDockBottom window (and set its Left property to the width of the VBE), that forces the bottom dock to be visible...
this is with hard-coded hWnd's, but it gets the job done:
                        IntPtr bottomDock = new IntPtr(0xE1876);

                        //Find and Hide the dummy toolbar
                        IntPtr cmdBar = new IntPtr(0x01D61D96);
                        Window.ShowWindowAsync(cmdBar, (int)ShowWindowCommands.Hide);

                        //Create a text box...
                        TextBox txt = new TextBox();
                        txt.Enabled = false;
                        txt.BorderStyle = BorderStyle.None;
                        txt.Height = 52;
^ and, presto, there's your status bar
2
Actually, make it ReadOnly = true and Enabled = true, and you can then copy the status bar text.
 
7:05 AM
May 18 '16 at 3:08, by ThunderFrame
@Comintern I suppose you could inject a status bar into MsoDockBottom without worrying about MDI?
May 18 '16 at 3:09, by Comintern
Absolutely. The MDI client area resizes away from the dock containers.
done
for hard-coded hWnd values of done
 
7:29 AM
I wonder if we could just inject the WPF windows into an empty ToolWindow?
And then remove them (and put them somewhere else) if the ToolWindow is "closed".
 
 
1 hour later…
8:47 AM
JAVA on Commodore 64 feels like a step backwards.
2
 
9:19 AM
We are basically injecting WPF windows into empty toolwindows. Basically, the DockableWindowPresenter makes the VBE create a window to which we add a UserControl hosting the WPF control.
From debugging the shutdown issue, I get the impression that we have a problem regarding the interaction between GC and COM interop.
At the point of the access violation inside combase.dll, the DockableWindowPresenters have not been finalized. However, the VBE has already been unloaded.
My guess is that something tries to access a something in the VBE via COM interop way too late.
 
0
Q: VBA - If error return '0' else execute code

itsMeI am converting below excel formula to VBA code and it works as required. =IFERROR(IF(A2="NULL",B2*C2,A2*B2*C2),0) Could someone please review and suggest if any changes are required in terms of handling errors. What the code does : If there is an error it returns '0' else executes the code....

 
 
2 hours later…
11:02 AM
@M.Doerner oh, I thought the WPF was loaded in a document inside the ToolWindow. The SetWindow approach is, I think, different, in that the childWindow isn't a control of the ToolWindow, but is just sharing the ToolWindow as a parent.
 
11:17 AM
@Mat'sMug WTF RD is making my code worse ;-) Yesterday I had 393 code quality issues, now (after fixing many of them based on RD suggestions) I have 405 code quality issues!!!
2
I guess this is the step backward that goes with the 2 steps forward :-D
 
@SlowLearner could be the implicit ByRef vs. can be ByVal argument
 
Yup - I changed a lot of them... It is going to take me a while to test the code and make sure everything is still working. But, I have to say RD has come a long way with inspections :-D Awesome stuff :-D
 
@ThunderFrame Is what you suggest the following? Let the presenter create the window; get its hWnd; create the WPF window; set the parent of the WPF window.
 
@M.Doerner yep, that.
 
I guess for the last step one would have to use interop to get an hWndHost for the WPF window itself.
 
11:34 AM
@puzzlepiece87 Awesome! Thanks. I knew there was a way, I was just drawing a total blank.
 
@SlowLearner We now have conflicting inspections, just as R#. Namely, there is an inspection for implicit ByRef and one for redundant explicit ByRef. In case the ByRef is implicit, the can be ByVal inspection may trigger as well.
 
@IvenBach theoretically better solutions have been proposed and will be worth considering once they have withstood the test of time (i.e. “5 to 10 years in the field, and not broken yet”). Yeah, don't use this until someone else has used it for 5-10 years and proven it's OK. Who is the first guinea pig?
 
@M.Doerner Yeah I figured it was something like that, although I had started to get the feeling that RD was smarter than that ;-D
Either way, it's good. Makes me think a little deeper about the code, what is happening, is it the best way - can it be better... so the way I look at it I now have 13 more points of focus!
3
 
You are kind of supposed to set one of them to do not show based on your preference.
 
12:19 PM
Is there any way to get the RD Import Module window to activate on the CTRL + M HotKey instead of getting the default import window?
 
@M.Doerner byRef vs byVal? That's not very obvious...
 
12:54 PM
?
 
1:08 PM
@SlowLearner You're supposed to make your style choice: I want to allow implicit ByRef, or I want to make it explicit. If you choose to allow implicit ByRef, then you globally ignore the Implicit ByRef inspection. If you want to explicitly declare it, then you globally ignore the Redundant ByRef inspection.
Glad I wrote that up. I just made my choice. :)
 
Yeah... I'm glad you wrote that up too... I'm going to make my choice :)
 
0
Q: Rubberduck in Autocad

TNickI see that v2.0: 75% there post mentions Autocad and there is an AutoCADApp.cs file, but I can't seem to find a reference for using Rubberduck outside of Office, under some random host application. There is this Adding a new Host Application to Rubberduck but that is already done for Autocad. Us...

 
1:45 PM
@FreeMan FWIW I tend to always value Explicit over Implicit. For me, it makes my code clearer and easier to understand. If I am debugging and I see an Implicit reference, I immediately now that it could be the cause of the bug, versus having to follow the reference back up the chain to see if the Implicit scope is what I intended.
 
2:04 PM
@BrandonBarney Amazing... that's the choice I made! ;)
 
@FreeMan Glad I could help!
 
2:46 PM
@StackDuck answered
 
@ThunderFrame I just realized that the WindowInteropHelper already has a settable Owner property. I just wonder whether the window would be dockable.
 
@StackDuck gave $10 to our GoFundMe campaign, too! =)
5
 
3:10 PM
Using Autocad 2015 here; running the commands and adding the install path to trusted paths does not seem to help, and by that I mean that the menu does not show up in VBA ide. — Nicu Tofan 1 min ago
@ThunderFrame any ideas? ^^
 
@Mat'sMug I thought you meant "StackDuck" donated & was really cornfuzed!
 
@Mat'sMug At the risk of abusing the terminology, there's no way to recursively join things together in SQL, just recursively union them, right? I get that joins are happening, but what I'm asking is, there's no way to expand your query results horizontally instead of vertically?
I even just taught myself Oracle's connect by prior because it didn't have the word union in it, but it's really just a union, so I'm still looking for something different.
 
That would be pivoting
 
Perfect, thanks. Knowing the right word helps so much with Googling.
 
Pivoting turns rows into columns.. Much like Excel's pivot tables
 
3:32 PM
This is definitely going to be a long lunch day lol
Combining Pivot and Recursive CTEs is going to break my brain completely by 11:30
Can you only pivot tables with aggregation operations?
Ah, the answer is no but you can do meaningless aggregation.
 
I usually let the client (SSRS, Excel, etc.) do the pivoting.
 
In general I'd prefer to let Excel pivot it too (I already have a transpose 2D array function ready to go). I might do that.
 
3:58 PM
@BrandonBarney I think the idea of explicit, especially in Excel, helps users make the distinction between assumption and surety. Having it brought up that 'hey this is an assumption here' instead of silently doing it for them is critical.
@PeterMTaylor I'd seen and/or heard of the model before. Words give me a difficult time and I understand them differently on occasion.
 
@IvenBach I think it might be a good idea to default "redundant ByRef" to DoNotShow, so that users can get the behavior they like, without having the contradicting results by default. Thoughts?
 
4:13 PM
@Mat'sMug Having it DoNotShow is fine. It would still have the implicit reference when it's omitted to alert them already.
 
@IvenBach Exactly why I prefer Explicit. The implicit features of VBA can be helpful (type conversion for example), but at times they can easily trip up a user. I'm the kind of person where I either do it one way, or another. If I start doing Implicit ByVal/Byref vs Explicit Object scope I get thrown off.
 
If you know that something is being done for you, I didn't realize that "2" + 2 = 4 was doing an implicit conversions for me.
It's easy to depend on a 'feature' you didn't know was there when it's always done it for you.
 
@IvenBach WT*?
Now I know where JS gets it from.
 
I thought, when first learning C#, "Well why can't C# do '2'+2 = 4?". Took me a while to understand some of the implications of implicit conversions.
 
Technically, I think it can.
 
4:22 PM
ORLY. Is it a setting you can toggle?
 
You would need to define an implicit cast operator on Int32
 
You'd have to define a custom implicit conversion from char to int.
 
I'd swear there's an echo in there ^^
 
lol
 
#HiveMindDucking
 
4:23 PM
Not sure if it would work, though, because there is already another implicit conversion defined (I thnk).
 
#DontEvenTry
 
Too late.
 
I now know better than to code 'cutesie' stuff, it bit me before.
 
You can still make your code pretty, but proper. It just takes a little bit more effort.
 
4:25 PM
I'm good enough that I have to try it just to see what happens. I don't do it in production code.
 
@IvenBach nope. A lot of what makes .net what it is, is the concept of type safety. Having implicit casts all over the place kinda ruins that.
 
Knowing that something can be done is nice. Doesn't mean it should.
 
Hence @Hosch250's "technically" ;-)
 
Generally it is there for a specific purpose. It reminds me of something a high school teacher taught us. "You now know enough to be dangerous." Sometimes, just because you can see it is thee, doesnt mean you should assume you know how to properly use it.
 
VBA messed me up with all the implicit conversions and 'under the covers helping' it does.
 
4:27 PM
Rule of thumb, don't mess with Int32 (or any other BCL struct for that matter)
 
C# has helped with that though.
@BrandonBarney #TharBeDragons
 
OK, sigh of relief
You can't do it.
Either the return type or the parameter has to be the same type as the containing class.
And you can't even do this:
namespace System
{
    public partial struct Int32
    {
        public static implicit operator Int32(char c)
        {
            return int.Parse(c.ToString());
        }
    }
}
I'll never see C# code that does this :)
Or wait, did I see a proposal that would allow this somewhere?
gets nervous
 
Seems there's an unwritten law that says "given enough time, any OSS language will tend towards JavaScript"
 
^ I have been somewhat noticing that lol. Every time I read java I see a lot of things that remind me of other languages.
 
C# isn't exactly OSS.
MS still controls the design.
Anyone can propose a feature, but nothing gets in without the design team pre-approving it.
 
4:34 PM
Can't wait for the === operator proposal
 
What's that one?
Is that the replacement for reference equals?
Oh crap. Just got an NRE at work that isn't my code.
 
Spin the wheel of blame!
 
Git Blame. Oh wait, we don't use Git.
 
> It's $(random_name)'s fault!
 
@Mat'sMug I out of the loop on this reference, can you explain it?
 
4:41 PM
Basically, programmers like jack-of-all-trades s*** languages.
 
@IvenBach there's a chatbot in SE devs' internal chat that accepts a command to "spin the wheel of blame" and replies with a random dev's name
 
click Another bit of the abstraction puzzle just went in. `System.IO.File.WriteAllText takes care of several lines of code for you. You don't care how it's done just that you have the method available to you.
@Mat'sMug I was referring to the OSS comment. But that's pretty funny to know still.
Reminds me of the 'Wheel of morality' from Animaniacs.
 
@IvenBach Yep, everything else is an implementation detail.
That's how almost all of your methods should be written.
Only private methods should ever even consider knowing about implementation details.
 
Why's that? Because they are already inside and can see the implementation?
 
No, they still can't "see" it.
Because they are at the deepest level and have very limited exposure to the outside.
And mostly because anyone who has access to change one method has access to change them all.
 
4:53 PM
@Hosch250 They are either called by other private methods and/or a public method.
 
Imagine Joe's library A knows about (or rather relies on) the details of Jane's library B (maybe Jane's is open source).
Jane changes the implementation in her library, and suddenly Joe's library breaks.
 
@Hosch250 Since it's hidden he shouldn't know about it.
 
He can still see it and know about it because it is on GitHub.
Doesn't matter if it the method is private or not.
 
But that's because its Open Source Software (OSS).
 
So?
Joe's library is still brittle because he thought he knew how Jane's was implemented and relied on it staying that way.
She changed hers, and his broke.
 
4:57 PM
It's brittle because he coded to a concrete implementation and not an abstraction?
 
Not really, he shouldn't have relied on any side effects happening.
If her method said it did Foo and did Bar as part of the process of doing Foo, he could maybe rely on it doing Bar.
 
Side effects can be thought of as hacks, in a way?
 
She changes her implementation to use Fizz instead of Bar, and his library is broken.
Not necessarily. Relying on them is a hack.
 
^ ok.
 
5:19 PM
@IvenBach That's exactly what I think when looking at so many cars when I drive...
 
@Mat'sMug I don't suppose there's any way to speed up a recursive CTE for 10,000 items that would finish in seconds if I just did the same join 8 times?
I just ran one as a test with 10,000 items and it didn't return results after an hour.
 
@FreeMan I've mentioned I'm a homebody right?
 
(Which makes sense if it's doing the items one by one through the join process, but I'm hoping there's a way to have it do all the first level joins at once, all the second level, etc. Probably impossible since it forbids outer joins)
 
@puzzlepiece87 Joins are slow. Do them as little as often.
What you should do is cache the results if your memory can afford it.
And only select the information you need to improve performance.
 
5:44 PM
I think I'm going to write a monster and drop it on CR.
 
@puzzlepiece87 Define monster...
 
@BrandonBarney Dynamic SQL with a Do While loop
 
@puzzlepiece87 Post the slow one and ask for performance improvements.
 
Oh, I'm out lol. Still not at SQl yet.
 
5:49 PM
@Hosch250 I don't have a slow one
I want Parent : ChildA : ChildAStatus : ChildOfA : ChildOfAStatus
The closest I've been able to get is:
(Using recursive CTEs that are too slow)
Parent : ChildA : ChildAStatus
Parent : ChildOfA : ChildOfAStatus
 
What version of AutoCAD are we embedding? RD is not working with 2015
AddIns64 was missing (but AddIns64 was present) and I created by hand that key. It complained that Rubberduck could not be loaded so i run the register routines from a command prompt (admin). Now I have following exception. — Nicu Tofan 20 mins ago
 
So I'm thinking about taking what I have now for a fixed number of generations (2) and putting it inside a Do While loop that checks if another loop returns results and keeps looping until no more results are returned.
 
Ah, crap. I'm not sure which version of AutoCAD we're using interop assembly for... definitely some progress was made though - at least it's trying to load it. I think you can try overwriting the interop .dll's we're packaging with the one you have installed (might screw up the RD install though). Pretty sure it's just a version thing. We need to figure out a better way to do this. — Mat's Mug 15 secs ago
 
6:14 PM
@Hosch250 @IvenBach a bit like RD uses public fields in ParserRuleContext to get child nodes. If a later version of Antlr properly encapsulates its fields, we're kinda F'd
 
Is there any way to avoid that or #HopeRealHard
 
Aye. Using visitors instead of manually traversing the nodes
 
6:32 PM
@Mat'sMug Yeah, and it screws us when our grammar changes.
 
ha, just received a bunch of RD stickers :)
7
user image
4
 
@Mat'sMug Hmm, what would you put the sticker on?
 
no idea. I don't even know what to do with my SO stickers
 
Bet they aren't waterproof.
 
hi @NicuTofan!
 
6:36 PM
Hello everybody
 
Hi.
 
@Hosch250 Your uber-coder-laptop
@NicuTofan weclome to the pond
 
I have forked the project and I'll let you know how it works
 
@Mat'sMug You would change 'war room' to be 'war-pond' for the chatroom
 
Meh.
 
6:38 PM
don't hesitate to ask if you have any questions - initial setup requires a number of steps (I think it's all in the wiki though)
VS 2015?
 
@Mat'sMug yep, with autocad 2015
 
cool
 
@NicuTofan Welcome!
 
@shadowofsiliconThanks, good to be here :)
 
@Mat'sMug Did you get #WarmFuzzies when you opened it up?
 
6:53 PM
lol
I might get one when I get the t-shirts :)
 
There should be no might about it.
A RD-VBA shirt will be the duck's quack, much better than the cat's meow.
2
 
7:13 PM
Huh, there's a tornado warning for the Montreal area. Dafuq is going on with the world
 
@Mat'sMug Global cooling, duh.
2
;P
 
#NoClimateChangeMyAss
 
Got it to work by replacing Autodesk.AutoCAD.Interop.dll (18.1.49.0) withthe one in acad folder (20.0.51.0). FYI acad.exe refuses to start and cannot attach to process (unrecognized error occurred in the Window Web Services framework).
 
@Mat'sMug Must be that "global warming" they keep talking about lol
 
Oh, I'm one of the people who believe in the little ice age.
That's climate change alright.
 
7:14 PM
Nomenclature issues Global Warming -> Climate Change for reasons just like this.
 
@NicuTofan huh, web services isn't us
 
Any idea about the version of autocad that was the source of Autodesk.AutoCAD.Interop.dll?
 
@ThunderFrame might be able to shed more light on this
 
Anti-debugger tricks in autocad, maybe.
 
Annoying
 
7:16 PM
I would like to write these detailed steps for the next poor soul. Wiki page or edit answer in SO?
 
@NicuTofan New answer?
And wiki page?
 
Wiki is good too
 
:)
Any idea about the version of autocad that was the source of Autodesk.AutoCAD.Interop.dll?
 
We need to figure out a way to get the host app dll at run-time.. Problem is that the Run method isn't specified on the interface, so it's really up to the host to provide a way for RD to run the unit tests... I think we're F'd in that department.
Probably 2013
Good thing Office dll's are backward-compatible
Apparently AutoDesk's aren't
 
7:22 PM
I wrote vba for acad 2007 and acad 2015. The interfaces looked backward-compatible to me
maybe not at binary level but - afaik, com dlls only export a handful of functions
and the it is up to the GetObject
 
We're using Office 2007 PIA's, RD works from Office97 to 2016 off them
 
not much experience in this domain, i'm afraid
 
Hmm, might be just a flag in the reference that isn't set. Is "Specific version" checked?
 
sorry, where should i check this?
 
(AFK ATM)
In the solution explorer, open up Rubberduck.dll references
locate AutoCAD libraries, look at the properties toolwindow
IIRC there's a "specific version" flag
 
7:27 PM
Name, Date created & modified, file path, file size, read only; no Specific version
 
hmm
 
The exception seems to only be caused by a name mismatch
if I could debug it maybe I could find what it expects
 
You can build the solution, register the build if it's not done already, and then launch AutoCAD without the debugger attached
 
Yep, this is how I confirmed that it works
 
the VBE would load your debug build
ah
 
7:29 PM
but cannot attach to existing process either
 
@NicuTofan Just set the startup exe.
 
that's weird. how the heck do AutoCAD plugins get debugged? They sell dev licenses?
 
I did, same error
I also copied the arguments and start dir from the shortcut
 
@Mat'sMug Ask @Jelly.
 
I can start the acad using same args from command line
 
7:32 PM
@Hosch250 IIRC he's using SolidWorks
 
And "Start without debugging" also works
 
still getting this?
> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidCastException: Unable to cast COM object of type 'System.__ComObject' to interface type 'Autodesk.AutoCAD.Interop.AcadApplication'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{2959C1CC-8577-4EDB-ADDC-6EBBAB147926}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
 
WinDbg reports "Cannot attach to process; error 0x5: access is denied"
Not with my assembly.
 
what error are you getting?
(without trying to attach a debugger)
 
So right now I can use RubberDuck in autocad. Sorry for not making this clearer
 
7:35 PM
ah ok
 
I'm only saying that I cannot debug it.
 
yeah, that seems a good question to ask AutoDesk support I guess
 
Yep; can you expand on wht tests cannot be run in acad?
Is there something that requires work?
Or is a fundamental problem?
*why
 
RD uses Application.Run (in Excel, at least) to invoke the test methods. in AutoCAD it's RunMacro - basically every host has a different way to allow us to run the tests
that's why we need a host app implementation for every host
well, for unit tests to work that is
 
Possible to add a "run" to base class?
or there is one alreay? (sorry for being lazy, I'll check)
 
7:39 PM
    public class AutoCADApp : HostApplicationBase<Autodesk.AutoCAD.Interop.AcadApplication>
    {
        public AutoCADApp() : base("AutoCAD") { }

        public override void Run(dynamic declaration)
        {
            Application.RunMacro(declaration.QualifiedName.ToString());
        }
    }
^ that's quite literally what we do
but at the end of the day we need to call into the exact method that the host Application class is exposing for that
and that's different for every host
Outlook is pretty damn hacked-up
        public override void Run(dynamic declaration)
        {
            // note: does not work. stackoverflow.com/q/31954364/1188513
            //var app = Application.GetType();
            //app.InvokeMember(qualifiedMemberName.MemberName, BindingFlags.InvokeMethod | BindingFlags.Default, null, Application, null);
            //Application.Run(qualifiedMemberName.ToString());

            //note: this will work, but not implemented yet stackoverflow.com/questions/31954364#36889671
 
O.o :))
 
kids want a bike ride, bbl
2
 
have fun
I see that AcadApplication also has an Eval method;
Sub Eval(Expression As String)
    Member of AutoCAD.AcadApplication
    Evaluates an expression in VBA
Would this be not the same as Application.Run in Excel?
 
8:06 PM
Nope.
Excel also has Application.Evaluate
What we need for the unit tests is a way to invoke/execute a test method synchronously (return to C# calling code only after the call has completed)
The panacea (or Holy Grail) would be to be able to instantiate a VBA class from C# code, and invoke its members through the VBA runtime rather than from the host. That way we wouldn't need host-specific logic to get tests to run
...and they could work in VB6 as well
Hmm I think the Outlook commandbar OnAction hack might work in VB6
anyway there's still a lot to implement for RD to even load in VB6
starting with that persky crash-on-exit
@NicuTofan is your host app cleanly exiting? Some users are having issues on shutdown in some hosts.
(we're working on it)
 
8:55 PM
start acad -> open drawing -> VBAIDE -> close seems to be clean; the log contains an exception
Unexpected exception thrown in parsing run. (thread 17).;System.Runtime.InteropServices.COMException (0x80010108): The object invoked has disconnected from its clients. (Exception from HRESULT: 0x80010108 (RPC_E_DISCONNECTED))
   at Microsoft.Office.Core.CommandBarControl.set_Enabled(Boolean pvarfEnabled)
   at Rubberduck.VBEditor.SafeComWrappers.Office.Core.CommandBarControl.set_IsEnabled(Boolean value) in C:\Users\Nicu\Documents\data\prog\3rdparty\RubberDuck\src\Rubberduck.VBEEditor\SafeComWrappers\Office.Core\CommandBarControl.cs:line 40
   at Rubberduck.UI.Command.MenuItems.CommandBars.AppCommandBarBase.EvaluateCanExecute(RubberduckParserState state) in C:\Users\Nicu\Documents\data\prog\3rdparty\RubberDuck\src\RetailCoder.VBE\UI\Command\MenuItems\CommandBars\AppCommandBarBase.cs:line 101
 
0
Q: Check Status of All Child Generations of Medical Claim

puzzlepiece87When a medical claim is replaced, it gets a new number. The older version is supposed to get cancelled out, but this doesn't always happen successfully yet at my workplace. I wrote this to try to aid in my research by automatically getting the entire tree of claims and their statuses. However, i...

^ @Hosch250 If you want to take a crack at it
 
@puzzlepiece87 My first kneejerk reaction was 'Use RD to properly indent your code'.
2
 
@Mat'sMug start acad -> open drawing -> VBAIDE -> Parse a 50+ modules project -> close seems to be clean;
 
9:11 PM
@IvenBach I assume this is more of a joke that you assumed it was VBA when it was SQL, but what kind of indenting would you hypothetically like to see...?
 
@NicuTofan cool!
 
@IvenBach Everything indented once, within-a-method style?
 
I'm so used to VBA code being posted I thought your was indeed vba. Code that just looked really funny, missing Sub at the top and no dims anywhere.
Then I realized the tag...
 
@IvenBach Good work :P
 
It's been a long week with lots of #WarmFuzzies from so many videos and testing new code.
 
9:14 PM
@IvenBach Don't stay at work past your expiration date lol, go enjoy the weekend.
 
I anxiously await 3 hours from now and home time followed by swimming, juggling, and gaming.
 
@IvenBach Ah, is your workplace more of a butts-in-seats gig?
If you're 3 hours before "close", I probably couldn't get off that early, but I'm super lucky, if it's 2 hours before close and I'm basically done being productive, I can go home :)
 
Not really. I'm hourly so there's that but I do use whatever free time I have to study C# and catch up.
 
@IvenBach I don't know whether to say "I'm sorry" or not - do you like being hourly?
 
No.
 
9:16 PM
I like being salaried but I am at a workplace that doesn't abuse it.
@IvenBach Then my sympathies and may it improve soon.
@IvenBach Hourly is indeed butts-in-seats (or as Mat's Mug would say, butts-in-seats indeed).
 
I don't mind being hourly because I'm supposed to give them 40 hr/wk anyway.
 
My dad worked construction installing acoustical dropdown ceilings (think above office cubicles). Early I learned: Do it once, do it right. Along with stay till the jobs done.
 
Even though they probably wouldn't mind if I didn't have anything to do (like right now, with 30 minutes until I can go home).
Probably going to say another 45, though.
I don't think I'll invoke the manager's offer to work on RD on my downtime because she's not here right now.
 
8 hour time constraints have always been an odd fit for me. Been reprimanded for literally 'working too hard' going over 5 hours.
 
M.Doerner is the other one who uses late "indeed"s :)
 
9:20 PM
Working too hard for 5+ hours?
 
Was just checking who it was
 
@Hosch250 Before taking a mandatory, legally enforceable, break.
 
Heh, I take a 30 minute lunch break off the clock, but I don't take a break.
 
TL;DR = I want salary. That way I can work 8+ hours if need be or go home if I've nothing to do and can't productively learn with downtime.
2
 
Half the time I'm too interested in what I'm doing, and the other half I feel guilty because I have nothing to do all day.
 
9:22 PM
@Hosch250 That's sums up how I feel.
 
I don't care either way, but I will be salaried around the 14th.
 
If I'm learning I want to go until the dry sponge is full or I'm content with stopping.
@Hosch250 Congrats. I hope you get the financial compensation your skills are providing your company.
 
I've been mostly learning Entity Framework and SQL at work. I already know the C# and most of the HTML/CSS/JS.
Learning Bootstrap and jQuery better.
I could probably learn more if I could work on personal projects at work, but I don't dare for legal reasons.
I don't dare mess with my company's stuff the way I would abuse my own projects.
 
I'd like to think most people that come to this pond are fairly industrious.
 
Have a good weekend everyone!
 
10:21 PM
@Hosch250 You still around?
 
@Mat'sMug @NicuTofan IIRC, I couldn't debug or attach to CorelDRAW either. If RD unit tests aren't enabled in AutoCAD, that suggests that RD doesn't recognize that the HostApp is AutoCAD. If the test menu items are enebaled, but running the tests fails, that suggests that the signature for RunMacro has changed.
@NicuTofan Any chance you have access to other AutoDesk/Dassault VBA hosts? It usually doesn't take much to add the PIA and get unit testing working for new hosts.
 
00:00 - 23:0023:00 - 00:00

« first day (1155 days earlier)      last day (2025 days later) »