I was reading jonvon's blog, and a thread he wrote called andrew on threads, c++ and so on (about Midas partly) gave me a cool, but probably crazy, idea. Jonvon was gushing about how Midas classes show up in typeahead and how cool that was
ok, but what you are missing here is that when i saw the Midas stuff appearing in the type ahead in designer i was SO GEEKED OUT!!
OH MY GOD that is so freaking KEWL! (i know i know, easily amused, etc...)Anyway, I had also just read a rant in another forum about how class declarations in Notes are all clumped together in the Declarations section, which is, I'll admit, awfully lame.
This is when a lightbulb went off. If an LSX can load a class so that it works in typeahead, and if what is desired is a class browser sort of thing, would it be possible to create an AutoClassGenerator that would take the model of a script library as a class, with each of its methods defined as a subroutine and constants defined in its declarations section. This would be done in a special database. When the AutoClassGenerator LSX was started, it would auto-generate classes built around the script libraries, and add them to the typeahead and class declarations and such. The trick would be that it would all be dynamic, with the script library read on the fly as the loader loaded.
The functions would then become methods of the class. There would have to be a way to subclass and such, but since you can already declare private and public subroutines and all in Script Libraries, as well as public and private variable, it would map well.
Now, implementation would be fairly nasty, but you should be able to suck the script out of the methods and make them events which get called and actually contain the source code. For example, in the script library MyRichTextClass, you might have:
Sub IckyFoo(this As Variant, ickyName As String)
Print this.prompt+" -->"+ickyName
in which case the class would create a new class called MyRichTextClass, which would have a method which would look to typeahead like:
Sub IckyFoo(ickyName As String)
and when that method was called, it would raise the original subroutine as an event.
OK, it is a pretty crazy idea, but it would give you both type ahead and methods and all separated into methods. I wonder how feasible it really is.
Copyright © 2005 Genii Software Ltd.