Subject Re: [IBO] Problem with IBO
Author Geoff Worboys
> In DLL I have static variable that will be set to true if
> form is open and false when its closed.
> If it's true, I just call
> MyForm->BringToFront();

This may be ok in a single threaded environment, I am not sure. Many
of the problems that people get is from instantiating data inside the
DLL (via the initialisation or whatever) because the memory context
may be different to the EXE. I have always found it is much safer to
avoid any DLL defined data. Use a DLL as a code/class repository only
and you are much safer.

> From Jason:"I recommend that you do not pass an object
> reference from the EXE to the DLL"

Its just that people often use DLLs in strange ways without
understanding how they work. If the EXE owns and is responsible for
all objects created, even indirectly, then everything should be ok.

> How can you store forms into database?

I am using Dream Company's designer capabilities (
to allow runtime creation of form designs. However it would be
possible to achieve the same thing without the dream company library
simply by designing the forms using Delphi and saving the DFMs
manually to the database. (Of course you need to know what you are
doing in this instance :-)

The dream company library includes scripting capabilities so that you
can even add event code to the form definitions. However I have my
own derivations of most controls and components that minimise the
requirements for scripting in my application.

IMPORTANT: There are some serious licencing implications behind this
approach - be sure to investigate this if you decide to pursue this
line of development (we can talk privately if you like).


Geoff Worboys
Telesis Computing