« first day (664 days earlier)      last day (2516 days later) » 

02:34
> RubberDuck should allow a user to paste a multiline string literal, optionally applying double-quotes, line continuations, carriage-returns etc.

VBA developers will often need to paste string literals such as SQL, HTML, XML or other Lorem Ipsum. Those strings will often have multiple lines and meaningful indentation. It would be great if RubberDuck could "Paste" that literal so that VBE treats it with the correct VBA syntax. Ideally, a dialog/wizard would guide the creation of a variable or
03:02
@Mat'sMug Have you filed a bug report about Extract Interface?
I have a potential fix in mind that I should be able to implement within the next few days.
I'm going to bed ASAP today, otherwise I would get it done before I went to bed.
03:22
@Hosch250 Good luck tomorrow.
03:32
> Just remember that i am also providing you test data for the rubberduck project as well.
 
2 hours later…
05:08
> I do have an ms-access 2013 license that I could donate to the project if anyone wants to use if confirming vba-rubberduck plays well with ms-access
05:33
> Thanks for the offer. I have all the Accesses. So I can test all versions.
06:14
> The problem is not sovled with the latest commit f49d175 .
I use Office 2010 32-bit Win7 32 bit
 
3 hours later…
09:14
0
Q: Modify Excel VBA code to make it work faster

Alex KI have a file with more then 100k rows, but the structure is simple: Date _|_Name-Position-Color_|_Summ 17.11.2015 |"Name1 | 8813,52 | Position1 | _|_Color1" _|_ 19.08.2015 |"Name2 | 3587,86 | Position3 ...

 
5 hours later…
14:24
hi @Hosch250! how'd it go?
How'd what go?
oh lol
I must have misread the transcript
11 hours ago, by ThunderFrame
@Hosch250 Good luck tomorrow.
Interview isn't until 4:00pm.
ah, well, still in time to say good luck then!
14:41
Thanks.
14:54
> Rubberduck.Setup.1.4.3.0.exe (4.32MB) - Downloaded 2485 times.
Last updated on 2015-07-08
 
1 hour later…
16:17
#169!
 
3 hours later…
18:51
hi @iksemyonov!
Want to do the mask for those?
Also, I cannot work on anything but tests until the hotkeys don't crash my build.
That's OK, there are a lot of tests that need to be written.
@awgaya's fix didn't fix it? those pesky importdll signatures...
lol, indeed :)
Hang on, I'll pull.
19:13
[Hosch250/Rubberduck] INOPIAE pushed commit f75f731d to BugBlipper: translation: added new German phrases
[Hosch250/Rubberduck] INOPIAE pushed commit 3a170748 to BugBlipper: translation: delete unused terms in all language files
[Hosch250/Rubberduck] INOPIAE pushed commit c8909bd2 to BugBlipper: translation: added translation for NewUnitTestModuleCommand according issue #1254
[Hosch250/Rubberduck] INOPIAE pushed commit 0ff10cb0 to BugBlipper: translation: deleted text after class
[Hosch250/Rubberduck] INOPIAE pushed commit 3cb9eb58 to BugBlipper: translation: added translation for NewTestMethodCommand according issue #1254
[Hosch250/Rubberduck] autoboosh pushed commit b05bc16f to BugBlipper: fix 64bit host applications crash (fixes #1268)
Merge pull request #1274 from INOPIAE/translation

Translation
Merge pull request #1275 from autoboosh/fix64bitcrash

fix 64bit host applications crash (fixes #1268)
[Hosch250/Rubberduck] Hosch250 pushed commit b203e8a4 to BugBlipper: Merge branch 'next' of github.com/rubberduck-vba/Rubberduck into BugBlipper
New crash now.
[rubberduck-vba/Rubberduck] build for commit b7ffcb93 on unknown branch: AppVeyor build succeeded
@Hosch250 that's a little bug you should be able to fix - look at the stack trace :)
something is loading something into a dictionary
config
not sure what it is, I'm not even sure what OnStartUp is doing in the main [next] branch anymore
[rubberduck-vba/Rubberduck] build for commit b203e8a4 on unknown branch: AppVeyor build succeeded
19:39
> Yes, because that's a fix for a different problem. The problem you're experiencing is unrelated to the other one. This one's related to key hook bugs and has to be looked at separately.
@Mat'sMug are you working on the key hook feature atm or is someone else working at that right now?
I haven't had a chance to work on it yesterday.. I'm working on the hotkeys, so not exactly the LL keyhook
ah yes, hot keys is what I meant
that error Hosch250 just posted an image of is due to this line github.com/rubberduck-vba/Rubberduck/blob/next/RetailCoder.VBE/…
ToString() always returns an empty string
I didn't want to screw up your work so left it in as is, is there anything we could do there to get it to work again?
I had to make some changes to the Ninject configuration, that revealed some serious bugs with the DI - e.g. things are reading the config file in constructor, causing Ninject to initialize stuff before the whole dependency graph is fully configured
I'll be overwriting the whole App class when I merge my stuff (there will be conflicts), so don't let that stop you from working - but don't overthink it either ;-)
sneaky edits :p
I'm not sure what the keys should be in that dictionary, the .Name property I suppose?
19:47
meh, I'd just skip it altogether ;-)
ah so you're saying the _hotkeyNameMap isn't needed at all?
there's also an exception being thrown in the HotKey class' GetCombo method
try disabling hotkeys altogether for now
ugh that merge is going to be ugly
I can just wait until you've merged your changes if you like?
yeah... I hope to finish it tonight
kk np
19:53
perhaps you can help me think of a way to solve this conceptually - I need to think of a way to map configuration values to Hotkey instances. ATM the Hotkey -> ICommand mapping is only working off default (hard-coded) values
^^ the ICommand is null unless the config is the default
        private readonly IEnumerable<IInspection> _inspections;
        private readonly IEnumerable<ICommand> _commands;

        public ConfigurationLoader(IEnumerable<IInspection> inspections, IEnumerable<ICommand> commands)
        {
            _inspections = inspections;
            _commands = commands;
        }
basically I tweaked the Ninject bindings so as to allow multibinding on ICommand
so the ConfigurationLoader receives all ICommand implementations in its constructor
I need some IDictionary<RubberduckHotkey, ICommand> (RubberduckHotkey being an enum)
and then I can parse the hotkey's name from the config into a RubberduckHotkey value, and get the corresponding ICommand.
does that make sense?
hmm maybe I could go with an IDictionary<string, ICommand> and skip the Enum.Parse part
20:13
yeah that's what I was about to suggest, to create enums for each command and save those in the config file
I mean, one enum that lists all possible hotkey commands
lol gotcha :)
or maybe a GUID would make sense since that would protect us from name changes? not sure if it that's worth it though since it would make the config unreadable
hmm good point. I'll make a note/comment on that enum that any post-release rename is going to be a breaking change
well at least as far as configuration goes
btw shouldn't that IDictionary<RubberduckHotkey, ICommand> be a IDictionary<CommandType, ICommand>?
i.e. a map from an enum specifying what ICommand it is to the actual ICommand
independent of the actual hotkey, the hotkey would simply store the commandtype enum's value
that would make it possible to e.g. present the user a dropdown of commands to map a hotkey to, unless I'm misunderstanding something here
public enum RubberduckHotkey
{
    IndentProcedure,
    IndentModule,
    CodeExplorer,
    InspectionResults,
    TestExplorer,
    RefactorRename,
    RefactorExtractMethod,
}
^
20:24
ah yeah, that's what I meant
that's currently in the Rubberduck.Settings namespace... does that make sense?
(the Common.Hotkeys namespace doesn't need it, and it's more concerned about the actual Win32 stuff)
no idea tbh, I guess it makes sense because it's related to the HotkeySetting
yeah
so.. I'm pretty confident I'll be able to merge my stuff tonight :)
are those hot keys only meant for menus and things like that? Or will they also be used for autocompletion, things like typing "prop<TAB><TAB>" and then you get a property?
awesome :)
technically we can have a hotkey for anything we can write an ICommand implementation for
but I haven't yet figured out 2-step hotkeys (involves LL keyhook), let alone autocompletion...
20:32
what's an LL keyhook?
the low-level keyhook - the one that captures individual keypresses
i.e. the hook that will ultimately trigger the parsing of the active module
ah I see
hotkeys are just a WM_HOTKEY message.. low-level keyhook is, well, lower-level (!) than that
but you still get a message I suppose?
yeah
and I'm sure I got the dllimport signatures wrong on these ones too
like, it works on my machine
but crashes hosch's
which is weird
because I'm on Win10 x64 as well
20:38
yeah I think it has to do with the host application as well
does hosch use the 64bit version of office?
yeah
2016 I think though
(I'm on 2010)
what are the dllimport signatures called?
still, I don't understand how the host app could interfere with a Windows hook
uh
sounds like the same bug as the one from yesterday
platform invokes (p/invoke)?
20:41
I guess? not sure what the exact definition is of a pinvoke, is it e.g. an import specified in this file? github.com/retailcoder/Rubberduck/blob/next/RetailCoder.VBE/…
the problem yesterday was that the signature specified ints instead of IntPtrs which lead to pointers bigger than 32bit being put into 32bit pointers
ah
makes sense
that's why it worked on your PC but not on Hosch's
it won't work on mine either then
wait I dont' follow - I'm x64??!
20:43
your office version is too?
perhaps the implementation of office changed I guess?
that's a possibility
I'm not too knowledgable about this though
lol, no one is
20:44
what are the relevant pinvokes called?
we can quickly check if ints are specified instead of intptrs
I don't quite understand why people still use 32bit office versions either btw. Got a customer with 32GB RAM but they use a 32bit excel version, limiting power query to like 1GB of RAM
User32.CallNextHookEx
User32.GetForegroundWindow
User32.SetWindowsHookEx
User32.UnhookWindowsHookEx
that's all
@awgaya 32-bit Office is more than enough for the common of mortals though
yeah I guess so, it just artificially slows down report creation and stuff
isn't Hosch's problem related to the bug fixed yesterday?
those signatures look OK to me
nah, there's something blowing up involving hotkey configs in App.cs, that's not happening in my fork
ah that one
yeah that's probably the two bugs I mentioned earlier
ToString returning an empty string and the getcombo problem
could it be that our config files are outdated? since you added new hotkeysetting properties
yeah.... I think that's why the thing is always loading from hard-coded defaults. It should save the settings (overwrite the file) after doing that
but it doesn't
20:54
I can have a look at it later if you like
and yeah it works if you delete the config file
yeah but not if it exists and a section is missing
it just loads the hard-coded defaults and leaves the file untouched I think
so the config file never gets updated? even if you change a setting in the GUI?
my guess is that only the settings dialog saves the file
(and the inspection results toolwindow, via "ignore this inspection")
perhaps that's something that could be done when applying an update once rubberduck v2.0 is out?
installing the update via MSI or whatever would update the settings file to the latest version
otherwise we could simply save the file again after loading it on startup
IIRC we addressed that in earlier releases, by renaming the existing config file and creating a new one, to ensure all sections were present
@awgaya that would be ideal. actually we could even make it depend on a flag that's only set if anything gets loaded from hard-coded defaults
21:05
I'll make PR once your changes are merged
21:41
32-bit office is common in corporate environments because 3rd party 32-bit controls and add-ins.
And before you say, why don't the 3rd parties update their software..... Often the 3rd parties disappeared years ago, and heck, Excel 4 Macros still exist.
e.g. Smart Indenter will only work on x64 through Rubbeduck
(well, when it works, but that's a different story)
21:59
@Mat'sMug really? Why is that?
lol, because all I did on that was a first-pass translation of the VB6 code
i.e. it's far from being ready
Oh, so you ported it from 32-bit-ONLY VB6, to 64-bit-ONLY C#?
huh? the C# runs on either platform
22:16
Hmm. I'm confused. I thought you were implying that the ported SmartIndenter won't work on 32-bit Office?
22:36
@Mat'sMug I know, I had to rush off to my interview just then.
22:57
Went well?
I think so. They said they will let me know their choice by the end of next week.
23:25
@ThunderFrame lol, I meant the VB6 version only runs on x86, so the only way to indent with Smart Indenter on x64 is with Rubberduck... once it works
More specifically, they were excited about my OneNote experience.
They are trying to move from paper notebooks to OneNote.
They asked a lot about my programming, but most of them didn't seem to know too much about it.
23:46
@Mat'sMug a number of MVPs told me they were aware of several attempts to remake SmartIndenter for 64-bit, so they were relieved to hear it was coming to Rubberduck.
relieved?
as in, Rubberduck will succeed where others have failed?

« first day (664 days earlier)      last day (2516 days later) »