« first day (2181 days earlier)      last day (999 days later) » 

12:01 AM
RELOAD!
[banane-io/PDB] 1 commit. 2 additions.
[rubberduck-vba/Rubberduck] 1 opened issue. 1 closed issue. 8 issue comments.
[Zomis/Games] 1 commit. 2 closed issues. 16 additions. 1 deletion.
[Minesweeper] Games Played: 173, Bombs Used: 127, Moves Performed: 24616, New Users: 21
 
 
2 hours later…
2:03 AM
 
 
8 hours later…
10:21 AM
 
10:56 AM
@M.Doerner because our menus are self-aware? #SentientDuckFtW
 
> @A9G-Data-Droid AIUI, if there _is_ an error, that leaves you in the "error trap" state and VBA doesn't properly clean up after itself as it would if there were a `Resume <something>` followed somewhere by `Exit Sub`. This can leave issues with future error handling.

I may be mistaken, though, so I will leave it to those far more knowledgeable to correct me or to expand on exactly what and why this happens.
 
 
3 hours later…
1:47 PM
git question: Working in Excel, in my master branch (started without thinking, I know...) I added a new .BAS to my code. I exported the code (with the Duck's export). At this point, I realized I was in master.
I then created/checked out a new branch for this work based off of master.
When I did a new git diff, it shows that my newly created/exported .BAS file is there.
I was under the impression that doing a checkout would wipe all the source from my working directory.
 
> I used to do this `If Err.Number <> 0` at the bottom, and indeed it's pretty clean. What swayed me was looking at it from the POV of the runtime state: VBA is either in a "happy path", or it's in an "error path". Problems happen when the streams cross and we have happy-path code running in an error path, or the opposite.

There is no single one-size-fits-all error-handling solution - sometimes OERN/OEG0 really *is* the best thing to do.

But most of the time, code benefits from clearly sep
 
Did it not delete this new file because it's not a tracked file, therefore it didn't know to delete it?
(or explicitly left it since it doesn't know what to do with it)
 
untracked is, well, untracked =)
 
OK. Too much sun this weekend, I guess.
This is probably why I was getting a deleted module showing up in my "live" code. I guess I was checking out an old branch (that should have been deleted) that contained the dead code, then checking out a newer branch without it. The new branch didn't know (wasn't tracking) the now deleted module, so left it instead of deleting it?
 
yeah it tends to leave alone the stuff it doesn't know about =)
 
2:01 PM
> FWIW, this is where vbWatchDog shines with its Try-And-Catch pattern.

Without it, we do have to use the awkward construct like

```If someGuardClause() Then
GoTo ExitProc
End If
```

and that requires the `ExitProc` to exist. Sure, one could put in `Exit Sub` but then you have to review the code closely to make sure you are not skipping out necessary cleanup routine.

With vbWatchDog, you can do
```
If someGuardClause() Then
ErrEx.DoFinally
End If
```

In a procedure
> FWIW, this is where vbWatchDog shines with its Try-And-Catch pattern.

Without it, we do have to use the awkward construct like

```
If someGuardClause() Then
GoTo ExitProc
End If
```

and that requires the `ExitProc` to exist. Sure, one could put in `Exit Sub` but then you have to review the code closely to make sure you are not skipping out necessary cleanup routine.

With vbWatchDog, you can do
```
If someGuardClause() Then
ErrEx.DoFinally
End If
```

In a procedu
 
@MathieuGuindon thanks. Explains a lot. Wonders how he got this far without figuring that out...
 
FYI - if you're using tortoise git, you do have to use All or at least Unversioned to check those new files, too.
Would that be why you keep losing your changes in your git repository? ;)
 
2:19 PM
I've got both Show unversioned files and Show all staged files selected. These are the defaults, I believe. With Show ignore local changes flagged files (not sure what that even means) and Show ignored files as the other options on the git diff window, I think Show ignored files would have been the only one I might have changed from defaults.
Yeah, there's no telling what I may have changed (thinking I was clever) that would cause me to lose files. Of course, it could be simple sheer incompetence. (A more likely option.)
 
2:58 PM
hey all; hope you're well! haven't really checked in for a spell
 
Cyril!
 
Kaz
Hey @everyone, hope you're all alive and safe
 
3:15 PM
> @MDoerner I like the little red exclamation points. For error\incomplete textboxen I generally change the background color. I like to use a yellow to highlight a text field that needs correcting. If there are different ways for the text to be wrong then it's important to have some sort of feedback to the user about the error. When you don't have room to give that feedback it's generally done in a tooltip.
 
> Side note, shouldn't guard clauses just throw an error?

If SomeGuardCondition Then Errors.OnInvalidOperation
> Side note, shouldn't guard clauses just throw an error?

If SomeGuardCondition Then Errors.OnInvalidOperation

I don't see a use for `GoTo ExitProc` like this.
 
@mansellan nice!
 
@MathieuGuindon let's see if anyone installs it :-)
 
Would we want that for RD?
TBH I think I'd rather leave the installer stuff alone while it works lol
 
3:27 PM
oh no, not at all. clickonce is still sandboxed, RD is far too complex for it.
 
when I was speaking of it in relation to RD, that was for a new user feature not the installer.
 
Make a github.io site for it, full-on SEO, and it'll pop up anywhere anyone searches for installer ;-)
 
lol
 
@mansellan :lightbulb:
I noticed a few new "Rubberduck" things recently.
eh, we got the best product for that name anyway
 
3:30 PM
> Yes for some types. But I've found times where the correct response is just to do nothing. Sometimes a messaging needs to be provided (esp. in the top-level operation invoked by some UI action such as click event) in which case the block would be a MsgBox followed by ErrEx.DoFinally. Whatever the reasons, it remains a PITA to handle it without the vbWatchDog which feels like doing the equivalent of "Let's leave the building inconspicuously by climbing out of the window". 😄
 
3:40 PM
> Thanks! All interesting points. I always thought that any scope can exit with a happy state (Exit code 0) or an unhappy state (Exit code > 0). I never think of returning to a happy path before leaving a scope because sometimes you need to return that exit code up to the caller. I am under the impression that errors get cleared by both End (Scope) and Exit(Scope). This is known to me because all of my scopes end with the If Err.Number <> 0 and the error is only ever seen inside the routin
 
3:58 PM
> Eh, be aware of this weird quirk:
```
Public Sub Bam()
Derp
Debug.Print Err.Number, Err.Description
End Sub

Public Sub Derp()
On Error Resume Next
Debug.Print 1 / 0
End Sub
```
If you run the code, you'll see that the `Err` is not cleared by time you return to the `Bam` routine. That is the case even if you insert an `Exit` statement.

Now, this code sample is a bit silly because why would we check `Err` after calling another procedure, especially one that has a
 
4:40 PM
> > I never think of returning to a happy path before leaving a scope because sometimes you need to return that exit code up to the caller.

@A9G-Data-Droid explicit `Err.Raise` statements work wonders for returning an error code to the caller ;-)
> > I never think of returning to a happy path before leaving a scope because sometimes you need to return that exit code up to the caller.

@A9G-Data-Droid explicit `Err.Raise` statements work wonders for returning an error code to the caller ;-)

With Err
.Raise .Number ' rethrow
End With
 
@Duga love these discussions on repo issues!
 
 
1 hour later…
5:43 PM
^ Long term I think it's better for development posterity.
 
@MathieuGuindon FWIW all of these only discuss whether the inspection is worth implementing from what I can tell ...
 
> **Justification**
Reviewing multiple results is difficult since changing a tab collapses every group. Returning to the tab requires subsequent expansion of the desired group.

**Description**
When changing tabs grouping display is unaffected.

**Additional context**
The option to expand/collapse all results would be a nice addition as well.
 
5:58 PM
Is there a name given to a coding pattern where a class module creates and returns a required reference? In my mind I'd call it the "Provider Pattern" but that looks to already be taken.
 
@IvenBach it's called a factory...
 
:derp: I already knew that name.
 
but you'll need a provider to get the factory. You will then need a meditator to get you the right provider. Oh yea, you'll need a decorator to allow you to hook in the customizations. So, to get started, you ought to have a FooFactoryProviderMeditatorDecorator.
definitely not gratuitous at all
 
@this Report Tweet -> I am in this picture and I don't like it
 
@Vogel612 oh, well, you can fix it by making a Factory over the decorator. That'll do it.
 
6:05 PM
DecoratedFooFactoryProviderMediatorBuilder always gets left behind
@Vogel612 yep, and I think it's a great history to have =)
 
it does add "bloat" though
 
 
1 hour later…
7:31 PM
A none too informative error message.
 
is it a HTTP status code?
 
HTTP Client error?
 
if so, then you done mucked something up
 
Nope. Opening Excel.
 
you didn't install that Excel web server? :)
 
7:33 PM
Somehow the workbook done did get corrupted.
I manage to crash Excel less often but more spectacularly after finding the pond. This one has me baffled.
:+1: for exporting the modules. Long live RD for it's enabling of source control.
 
As far as googling it shows, it should be form already open.
I think it simply displays the VBA error code.
 
if that is in fact a MsgBox then IvenBach should be able to ctrl+break it
 
The problem with error 400 is that it is not in the official docs.
 
normally a msgbox would say "Microsoft Excel"... you'd have to go out of your way and actually specify "Microsoft Visual Basic for Applications" to get that title, I think.
Could be a custom error code
#weird
 
7:59 PM
Ctlr+Break does dismiss that dialog but by the point its shown the host app is already crashing.
I don't have time to philosophize about the life span of my navels error message. Using a backup and proceeding on.
 
@this True for Java.
 
@IvenBach waitamintue. you do realize that nobody else's navels has an error message, much less a lifespan for one?!? That makes yours truly unique. Quick, to the media! Get yourself some movie rights!
 
Haha. As my agent you get 12% of all proceeds from: "The Navel that ate Cincinnati."
 
9:01 PM
@this did you ever find that Access Add-in Wrapper?
 

« first day (2181 days earlier)      last day (999 days later) »