Inheriting from Raize Controls don't work but there seem to be a link to VCL Controles


2008-06-23 06:02:35 PM
cppbuilder18
Tanks
I will go to codegear with the isue.
jvdn.
"Raize Software Support" < XXXX@XXXXX.COM >schreef in bericht
Quote
Hi,

I am able to duplicate the problem you describe using the
Release version of 4.2.1. The strange thing is that the
linker error message is stating that the MMICHECKBOX.OBJ
file has a reference to a PaintBackground method that it
cannot resolve. The TRzCustomButton defines the base
version of this method and it is overridden in TRzButton
and TRzCheckBox. However, the header files for these
classes DO have the correct method signature.

The issue then appears that in the generation of the
MMICheckBox.obj file, the reference to the PaintBackground
method is getting generated incorrectly. Instead of
specifying the (HDC DC) argument list, the obj file is
reference a version of the PaintBackground method with
a (void *) argument list, which does not exist.

Unfortunately, I do not think there is anything that we
can do about this particular issue. If the RzRadChk.hpp
file was not getting generated correctly, there are things we
can do to fix that such as adding $HPPEMIT directives and
such into the Delphi code for the component. But as I have
noted, the header files are correct. It appears that the
problems lies in C++Builder 2007 generating the OBJ file
for your descendant.

One approach that you may wish to consider is to use
Delphi to create your custom descendants of the controls,
and then use them in your C++Builder applications.

Ray


>I get the following message when im using CppBuilder 2007 with Raize
>Component Trial 4.2.1 om win XP
>
>I'm testing our code in CppBuilder 2007 / Raize 4.2.1 we made it in
>CppBuilder 6.0 Raize 3.0.12.
>
>And I get the following error.
>
>[ILINK32 Error] Error: Unresolved external '__fastcall
>Rzradchk::TRzCustomGlyphButton::PaintBackground(void *)' referenced from
>C:\SOFT\OWL\SOURCES\MMI\USERINTERFACE\COMPONENTS\DEBUG\MMICHECKBOX.OBJ
>[ILINK32 Error] Error: Unresolved external '__fastcall
>Rzbutton::TRzButton::PaintBackground(void *)' referenced from
>C:\SOFT\OWL\SOURCES\MMI\USERINTERFACE\COMPONENTS\DEBUG\MMICHECKBUTTON.OBJ
>
>I took one part and made a Project just containg it and attach it.
>The PaintBackground is in de Vcl defined as (void __fastcall
>PaintBackground(Graphics::TBitmap* AnImage); Gauges.hpp )
>and in the Raize (virtual void __fastcall PaintBackground(HDC DC);
>(TZButton.hpp)
>
>I hope someone has any idea.
>
>Regards
>
>jvdn
>
>