Re: Plugins and BPL's



These systems will have the same problems as any other systems with errors
like "Cannot assign a TFont to a TFont" if you try to do anything really
cool, like embedding frames or other classes. Ultimately, you need to
compile both the DLL and the main executable with packages to solve the
problem.

Packages are amazing, underused, and misunderstood. You *can* select which
packages to deploy, and you *can* place them in the same folder as your
executable, and you *can* have different executables running with different
packages, yes, even at the same time, as long as they're in different
folders.

Packages are the single best way to host plugins in Delphi, hands down.
Whether you use a commercial product like TMS's Plugin Framework, or an open
source system like the one included in Project Jedi, packages are the way to
go.

From a lower level perspective, good plugins require good design, so don't
just go down the path of least resistence. Longer term, it'll make your
software less flexible, not more. I'm speaking from experience, here.

--
Tim Sullivan
Unlimited Intelligence Limited
http://www.uil.net


"Doug Olson" <olsonware@xxxxxxxxx> wrote in message
news:44eb5a74$1@xxxxxxxxxxxxxxxxxxxxxxxxx

If you are looking for a solution which allows you to create plug-ins but
does not force you to use the BPL style of distribution, I suggest looking
at:

http://www.athrasoft.com/en/Home.htm

and if memory serves me:
http://www.maxcomponents.net/components.html#PLUGINLOADER

Doug



"Rodrigo Rodrigues (Brazil)" <"rodrigo_rodrigues .STOPSPAM. terra dot com
dot br"> wrote in message news:44ea0985@xxxxxxxxxxxxxxxxxxxxxxxxx
Hi all,

I develop an application that it's soon growing to a better, and bigger,
application. I intend, in this new version, to keep it in modules, as the
first version had these modules, but they were all together in the same
exe.

After reading about a bit, I decided to go through the "BPL way" to make
my app use the modules as plugins, loading them dinamically at run-time.
And not to waste many time developing a plugin framework, I took a look
at some market solutions on the topic.

I've downloaded TMS Plugin to test it and see if it's what I needed.
After playing sometime with the demos provided, I could easily create a
plugin-enabled application. That would be ok for just one problem:

Why the hell I must supply *LOTS* of native BPL's along with my main EXE
and my plugin BPL? Isn't there a way to revert it? I must clear a point:
I don't need to keep my EXE the smallest I can. Using packages, in my
case, is only important to modularize the whole system. Just it. I
thought that I'd install just my EXE and my plugin BPL in the user's
client, but I was surprised with lots of error messages that would only
disappear when I copied to the same directory the BPL the error message
pointed.

Sorry about the long message, but I've been looking for this answer for a
week on the net, but I couldn't find it yet, not even a user with the
same "problem".

Thanks all in advance,
R.




.



Relevant Pages

  • Re: Plugins and BPLs
    ... Does this "non-BPL style of distribution"... ... I intend, in this new version, to keep it in modules, as the first version had these modules, but they were all together in the same exe. ... After reading about a bit, I decided to go through the "BPL way" to make my app use the modules as plugins, loading them dinamically at run-time. ... And not to waste many time developing a plugin framework, I took a look at some market solutions on the topic. ...
    (borland.public.delphi.thirdpartytools.general)
  • Re: Plugins and BPLs
    ... I decided to go through the "BPL way" to make ... I've downloaded TMS Plugin to test it and see if it's what I needed. ... Why the hell I must supply *LOTS* of native BPL's along with my main EXE ... surprised with lots of error messages that would only disappear when I ...
    (borland.public.delphi.thirdpartytools.general)
  • Re: Is it possible to pass a TADOConnection to a Delphi Built DLL
    ... >pass a connection object within packages (BPL)? ... Pass it like you would to any method in your Exe. ...
    (borland.public.delphi.database.ado)
  • Re: yum update/install from a specific repo
    ... This plugin adds the command alias, ... Yum plugin to enable manual downgrading of packages ... Yum plugin to let Yum install only basearch packages. ...
    (Fedora)
  • Re: QueueUserWorkItem with functions in a DLL, how to unload safely?
    ... > the call to the DLL-provided work item routine in a function that will ... you might have the .exe export a QueueUserWorkItem-type ... > but instead of passing the ThreadProc/Context directly to QueueUserWorkItem, ... As part of the initialization, after loading the plugin, the exe passes ...
    (microsoft.public.win32.programmer.kernel)