I’m looking back at creating an Oxygene project again (after retiring and being retired for a while ).
I don’t think this works right still. Or at least it doesn’t work nearly as well as it used to.
I’m using version 10.0.0.2525.
While working on a WPF application and I’m in a procedure named “TestProcedure” and if I type, “Loaded +=”, I’m pretty sure it used to pop up a dialog that had “TestProcedure_Loaded” as the suggested name. Then if I selected that, it created the “Loaded += TestProcedure_Loaded” and created the “method TestProcedure_Loaded” in the object class definition and created a matching stub implementing the procedure whose body was just “begin end;”.
If I then wanted to add a loaded event handler to another method named “Test2Procedure”, it would have “Test2Procedure_Loaded” as the name choice and create the new, differently named interface and implementation code.
But none of that stuff works anymore and it was a great time saver. Now, the MOST it does is that if I select the OnLoaded choice from the popup, then it created the implementation code, but didn’t also create the matching interface section in the class.
If I go ahead and create the matching interface using “Ctrl-Shift-C” and then want to create another event handler in another method, the choice of OnLoaded is presented again and if chosen, it creates another OnLoaded implementation code stub with the same name as the first one.
So I don’t think the bug has been fixed. Or at the very least, it is a nuisance to used compared to how nicely it used to work which saved a lot of time fixing things manually.
This used to be so valuable, I’m surprised it was dropped and that other people haven’t complained. I presume other people just manually coded it themselves in a multi-step process.
Maybe other people have just switched to using the “method” mechanism that generates unnamed inline handlers (which I think makes code less readable).
If this isn’t clear, I can try to take some snapshots of what I’m saying and post those too.
(fwiw, probably “Loaded” isn’t the best event to use as an example, but imagine any other event that might want to be hooked into and unhooked in various procedures in which case there would be the need for a bunch of methods all trying to share the same name for the event handlers)