Implementation of external modules

What is the best way to implement an external module system for a DELPHI application?

What I need is very simple:

  • The main APP determines if the module is present and loads it (runtime)
  • Modules can store form
  • Modules can store DataModules
  • Modules can store code

I need to use storage forms inside other forms and only as standAlone

I use something like this

        if Assigned(pNewClass) then begin
            Application.CreateForm(pNewClass, _lFrm);
            _lFrm.Hide;
            _lFrm.BorderStyle := bsNone;
            _lFrm.Parent := pBasePNL //(TPanel);
            _lFrm.Align := alClient;
        end;

So, I create TForm, but place it inside the TPanel.

As for DataModules, I usually store ImageLists, so the ideology is to change the ICO application, just a bit modifying the external module.

So what is the best way to achieve this?

I looked at the BPL runtime, but does not seem to understand how to do this. Thank.

UPDATE: .....................................

, .

http://edn.embarcadero.com/article/27178

, .

, , , 

2

BPL, :

AClass := GetClass('TForm2');

retrievex 'nil

BPL, :

RegisterClass(TForm2);

- .

+5
2

, ! ... .

, , . , , . , BPL - . ( DLL BPL), BPL- - , , , . borlandmm.dll( ), DLL .

, , , , . DLL, , DLL. , , BPL.

, BPL (Runtime Packages) , , , . BPL, , , , . , , , , .

BPL, , . BPL . , ABI , .

: - (plugin_r2.zip). Delphi XE, delphi, .dproj .dpr .dpk .

+3

- , . Delphi, , .

. , Delphi.

DLL , , . , .

+4

All Articles