On Sunday 9 January 2000 Alexander V. Kiselev wrote:
> On 9 Jan 00, at 3:24, Steve Lamb wrote:
>> Plug-ins are not the end-all, be-all answer, trust me.
I agree here. After all, the logical extension of this is the null
application which does *nothing* other that to make calls to its
plug-ins!
> Gee, I feel like wishing to agree with this;-) Plugins are excellent way to *add*
> functionality that doesn't belong to the main featureset of the program. But you
> won't reimplement the features already available, however buggy, via plugins:-)
Actually, there *are* ways to implement this.
Going back to MS's Object Model design guide[1], one of the design
models they recommend is that the host application implement events
for pretty much all of its actions. An interested plug-in can then
register for these events. When performing some action, The Bat! would
then call the plug-in twice: the first before doing any processing,
the second afterwards. Both calls pass a complete set of parameters
for the action to the plug-in, and the first call also passes an
additional "Cancel" parameter, so that the plug-in can completely
suppress the built-in functionality if it so desires. It should be
clear that when done properly this results in a *very* powerful
facility for the plug-in writer, and having implemented it myself I
can say that it contributes a minimal amount of bloat to the host
application.
(I will try and dig out an on-line link to this document. The only
copy I have is a print-out.)
[1] I know Steve doesn't like MS (I assume you're running The Bat!
in the WINE emulator under Linux then ;-), however to state that
everything they do and everyone who programs for them is bad is a
logical impossibility - if they were *that* incompetent then you'd
expect at least a few good people to slip through their
recruitment procedures!
>> > Some people want handy little reminders, it would be nice to be able
>> > to go download a little package that adds those reminders.
>>
>> Nor have I ever seen plug-ins be able to integrate themselves into a
>> program to be able to do this. Plug-ins cannot modify the core program unless
>> they are given access to do so.
And that's the crunch - you only achieve the most powerful
capabilities when the host application exposes *all* its actions and
functionality to the plug-in interface.
John
--
you gave me something that i could touch in a world where i'd had too much
something i could feel with my broken hands full of lost ideals but soon i'm
returning to you my friend and we'll go where the rivers end in the silver sea
and i'll carry you if you carry me
--
--------------------------------------------------------------
View the TBUDL archive at http://tbudl.thebat.dutaint.com
To send a message to the list moderation team double click here:
<mailto:[EMAIL PROTECTED]>
To Unsubscribe from TBUDL, double click here and send the message:
<mailto:[EMAIL PROTECTED]>
--------------------------------------------------------------