On Sun, 10 Aug 2008, Chen Kedem wrote:

Hi Chen,

> I had finally managed to build harbour.dll with CodeGuard
>     set HB_BUILD_DLL=yes
>     set CFLAGS=-v -y -vG -Od
>     set LDFLAGSDLL=cg32.lib
>     set LDFLAGS=cg32.lib
> both LDFLAGS and LDFLAGSDLL need to be defined. I wonder why it is not needed
> to add cg32.lib to normal (no DLL) build when the CodeGuard -vG is set.

I maybe it's enough to use -vG switch instead of cg32.lib to inform
BCC that it should link with cg32.lib and when the same set of switches
where passed everywhere it was working.

> The attached ZIP contains same build logs from hbtest.exe and hbtest-dll.exe
> and there are differences.
> (Rev.9128 BCB 5.0 WinNT4.0)

It's caused by activating scallar classes in hbextern.ch:

   EXTERNAL HBSCALAR
   EXTERNAL HBARRAY
   EXTERNAL HBBLOCK
   EXTERNAL HBCHARACTER
   EXTERNAL HBDATE
   EXTERNAL HBLOGICAL
   EXTERNAL HBNIL
   EXTERNAL HBNUMERIC

so simple types have their own classes and default HVM error messages
are overloaded by TObject:MSGNOTFOUND.

If you do not want to enable scallar classes then this functions
should be removed from hbextern.ch. We can also hide them by some
macro, f.e.:
   #ifdef HB_REQUEST_SCALLAR
      EXTERNAL HBSCALAR
      EXTERNAL HBARRAY
      EXTERNAL HBBLOCK
      EXTERNAL HBCHARACTER
      EXTERNAL HBDATE
      EXTERNAL HBLOGICAL
      EXTERNAL HBNIL
      EXTERNAL HBNUMERIC
   #endif

best regards,
Przemek
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to