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