[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

DLL interface



PureBytes Links

Trading Reference Links

Hello,

In this e-mail I want to present you some features of a DLL plugin interface
being developed for version 3.8. I would like to know your thoughts about
it before I close the specification.

The purpose of AmiBroker's plugin interface is to allow to extend AFL built-in function set
by any user or third party software vendor.

Main goals are:
1. speed - there will be virtually no performance differences between internal and external
functions
2. simplicity - 
a) the interface is very simple, flat API-like (no COM for now). 
b) writing plugins will be as easy as adding a new function(s) to a sample C project
c) Installation of a plug-in will be as easy as just copying the DLL into "Plugins" directory
3. tight integration with AFL engine - 
a) external functions will be available directly from
AFL without the need to call any additional function like ExtFml.
b) all external functions will be highlighted properly in a new syntax coloring editor
c) AFL engine will check types of parameters passed to the external function
d) ability to call-back any built-in AFL function from within external DLL (this includes
also calling functions from one external DLL to another)
e) ability to overwrite built-in functions

For technical reasons (mainly point 3.) plugin DLLs will have to be written in some flavour
of C/C++ language. Visual C++ 6 is preferred, however free compilers like PGPP (GNU) and
free Borland C/C++ 5 compliers will be supported also. It is yet to be tested if it is possible
to write compatible DLLs using Delphi.

Visual Basic and other COM-only languages will not be supported at this stage.
COM-based interface is planned later (next year).

Best regards,
Tomasz Janeczko
===============
AmiBroker - the comprehensive share manager.
http://www.amibroker.com