[Gambas-user] Dynamically loading components

Benoît Minisini gambas at ...1...
Wed May 11 02:56:27 CEST 2011


> Hi!
> 
> I am using Gambas 3 to develop a modular application. I would like to
> know if it's possible to load components dynamically (If the component
> file exist, load it, if not, skip the execution code where the
> component's functions are called)
> 
> What I have so far is this:
> 
> ==========
> Try Component.Load("daily-school-online.gambas")
> 
> If Component.IsLoaded("daily-school-online.gambas") Then
>     OnlineModuleLoaded = True
> Endif
> =========
> 
> But for this to work, I have to add the component as a library on the
> projects setting dialog, meaning that if the file does not exist, the
> program wont start. I also have the problem that if I don't add the
> component as a library, the project wont compile, as the parser will
> find functions that don't exist on this project, but are declared on the
> component.
> 
> Does anybody have any ideas on how to achieve this?

Why do you want to dynamically load components ?

In Gambas, the only reason for doing that is preventing the load of unneeded 
shared libraries (i.e. native components).

If you are not in that case, then you can put all your code in the same 
project. Gambas loads a class the first time it is used, so if you don't use a 
class, it will never be loaded.

Regards,

-- 
Benoît Minisini




More information about the User mailing list