Главная страница | назад





Article #17349: Converting Delphi and BCB1.0 Components for use with BCB3.0

 Question and Answer Database
FAQ2349C.txt Converting Delphi and BCB1.0 Components for use with BCB3.0
Category :VCL
Platform :All
Product :C++Builder 3.x
Question:
How do I convert a Delphi or C++Builder1.0 component to work
with C++Builder 3.0?
Answer:
Converting C++Builder1.0 components to C++Builder3.0:
1) Missing PACKAGE modifier on the class:
class PACKAGE TGenericComponent : public TComponent
2) Missing PACKAGE modifier on the Register function:
void fastcall PACKAGE Register()
3) Missing #pragma package (smart_init) in the CPP source just
below the include section.
4) Invalid ValidCtrCheck declaration. Components created for
C++Builder1.0 looked like this:
static inline TGenericComponent *ValidCtrCheck()
Components created for C++Builder3.0 must have the line modified to look like this:
static inline void ValidCtrCheck(TGenericComponent *)
5) Another modification made to components from C++Builder1.0
is that the line in the ValidCtrCheck function that looks like
this:
return new TGenericComponent(NULL);
should look like this:
new TGenericComponent(NULL);
NOTE: Options 4 and 5 are only if there are only needed if there
are more than one component per CPP file.
Converting Delphi components to BCB3:
1) Add the following line of code just after the uses section:
{$ObjExportAll On}
7/2/98 10:32:32 AM

Last Modified: 01-SEP-99