Board index » cppbuilder » Rebuilding Pkgs BCB4->BCB5

Rebuilding Pkgs BCB4->BCB5

Hi:

  I just installed BCB5 after uninstalling BCB4.

  I am using Crystal vcl component version 451 (4.51)

  I am trying to rebuild the package. BCB5 converted things as it should
from vcl40... to vcl50.. but when I compile it says it can't find
DsgnIntf.dcu. I found the DsgnIntf.pas. I "temporarily" pointed it at my
Delphi\lib where I have DsgnIntf.dce and then it souldn't find
System.dcu. I then "unpointed" it from Delphi.

  What do I need to do here to rebuild the package for BCB5?

Thanks.

                                                    Best regards

 

Re:Rebuilding Pkgs BCB4->BCB5


Hi:

  Finally got all packages to rebuild but Crystal:

USERES("Crystal.res");
USEPACKAGE("vcl50.bpi");
USEUNIT("UCrpeReg.pas");
USERES("UCrpeReg.dcr");
USEPACKAGE("VCLX50.bpi");
USEPACKAGE("VCLDB50.bpi");
USEUNIT("CRDynamic.pas");
USEUNIT("UCrpe32.pas");
USEUNIT("UCrpeAbt.pas");
USEUNIT("UCrpeUtl.pas");
USEPACKAGE("bcbsmp50.bpi");
USEPACKAGE("vclbde50.bpi");
Get error Can't find DSS50.lib. This file is nowhere on machine.

Any ideas appreciated.

                                               Best regards

Re:Rebuilding Pkgs BCB4->BCB5


Quote
"Robert F. Tulloch" wrote:

> Hi:

>   Finally got all packages to rebuild but Crystal:

> USERES("Crystal.res");
> USEPACKAGE("vcl50.bpi");
> USEUNIT("UCrpeReg.pas");
> USERES("UCrpeReg.dcr");
> USEPACKAGE("VCLX50.bpi");
> USEPACKAGE("VCLDB50.bpi");
> USEUNIT("CRDynamic.pas");
> USEUNIT("UCrpe32.pas");
> USEUNIT("UCrpeAbt.pas");
> USEUNIT("UCrpeUtl.pas");
> USEPACKAGE("bcbsmp50.bpi");
> USEPACKAGE("vclbde50.bpi");

> Get error Can't find DSS50.lib. This file is nowhere on machine.

  The only occurrence of this name, DSS50.LIB is in bcbide50.lib.

- Show quoted text -

Quote

> Any ideas appreciated.

>                                                Best regards

Re:Rebuilding Pkgs BCB4->BCB5


Hi:

  Found you answering some perhaps relevant questions in a thread at
Mers. Perhaps you could help here.

Quote

> > USERES("Crystal.res");
> > USEPACKAGE("vcl50.bpi");
> > USEUNIT("UCrpeReg.pas");
> > USERES("UCrpeReg.dcr");
> > USEPACKAGE("VCLX50.bpi");
> > USEPACKAGE("VCLDB50.bpi");
> > USEUNIT("CRDynamic.pas");
> > USEUNIT("UCrpe32.pas");
> > USEUNIT("UCrpeAbt.pas");
> > USEUNIT("UCrpeUtl.pas");
> > USEPACKAGE("bcbsmp50.bpi");
> > USEPACKAGE("vclbde50.bpi");

> > Get error Can't find DSS50.lib. This file is nowhere on machine.

>   The only occurrence of this name, DSS50.LIB is in bcbide50.lib.

Found this in Mers:

2.3 Runtime packages: Client/server and Enterprise Editions

-----------------------------------------------------------
                         If you are a licensed user of Delphi 5
Enterprise,
                         redistributable runtime packages include the
                         following:

                         DSS50.bpl  <--- So why is it saying I need
this?
                         IBEVNT50.BPL
                         INET50.BPL
                         INETDB50.BPL
                         NMFAST50.bpl
                         QRPT50.BPL
                         TEE50.BPL
                         TEEDB50.BPL
                         TEEQR50.bpl
                         TEEUI50.BPL
                         VCL50.BPL
                         VCLADO50.bpl
                         VCLBDE50.bpl
                         VCLDB50.BPL
                         VCLDBX50.BPL
                         VCLIB50.bpl
                         VCLIE50.bpl
                         VCLJPG50.BPL
                         VCLSMP50.BPL
                         VCLX50.BPL

- Show quoted text -

Quote

> > Any ideas appreciated.

> >                                                Best regards

Re:Rebuilding Pkgs BCB4->BCB5


The Dss code is the Desicion Cube stuff.  This is only available with the
Enterprise version of BCB.  View the project/package make file and remove all
instances of Dss50.  

I suspect that the package was originally created by someone who has Enterprise
and even though Dss50 is not needed, the IDE normally just adds all your
packages into the make file and lets the linker not link it in.  This normally
is just fine until you send someone your project/package and they don't have all
the same packages.

Quote
"Robert F. Tulloch" wrote:

> Hi:

--
Jeff Overcash (TeamB)
      (Please do not email me directly unless  asked. Thank You)
Maybe it was infatuation or the thrill of the chase.
Maybe you were always beyond my reach and my heart was playing safe.
But was that love in your eye I saw or the reflection of mine?
Give me time, won't you give me that time!
Welcome back to the circus.            (Fish)

Re:Rebuilding Pkgs BCB4->BCB5


Hi:

  I will go back and look again. I don't really understand since this
was running fine in BCB4. All I did was migrate it?? Like I said, I did
text search on DSS50 in the entire BCB5 dir and it was nowhere to be
found except in the bcbide50.lib.
Some package in this component package was including bcbide50 which in
turn wanted DSS50. Don't understand how that is the fault of Crystal?

Clarification would be appreciated.

  For now I got around it by simply adding the *.pas and *Reg.pas to an
existing package. But, I do want to fix correctly.

Thanks.

                                                   Best regards

Re:Rebuilding Pkgs BCB4->BCB5


Quote
"Robert F. Tulloch" wrote:

> Hi:

>   I will go back and look again. I don't really understand since this
> was running fine in BCB4. All I did was migrate it?? Like I said, I did
> text search on DSS50 in the entire BCB5 dir and it was nowhere to be
> found except in the bcbide50.lib.
> Some package in this component package was including bcbide50 which in
> turn wanted DSS50. Don't understand how that is the fault of Crystal?

Runtime package can not require BCBIDE50 as that is not a redistributable.  As
long as those are only design tiem package you won't have a problem, but if it
is a run time then Pro users don't have Dss50 and they will have problems.

I don't use Crystal Reports so really can't comment much more than that without
seeing how they have it setup.

Quote
> Clarification would be appreciated.

>   For now I got around it by simply adding the *.pas and *Reg.pas to an
> existing package. But, I do want to fix correctly.

> Thanks.

>                                                    Best regards

--
Jeff Overcash (TeamB)
      (Please do not email me directly unless  asked. Thank You)
Maybe it was infatuation or the thrill of the chase.
Maybe you were always beyond my reach and my heart was playing safe.
But was that love in your eye I saw or the reflection of mine?
Give me time, won't you give me that time!
Welcome back to the circus.            (Fish)

Re:Rebuilding Pkgs BCB4->BCB5


Hi:

  I really still don't understand this. This package was installed under
BCB4 with no problem at all and ran fine. Something in BCB5 had to
change this: Here is make file with ref to DSS50.lib etc.

<?xml version='1.0' encoding='us-ascii' ?>
<!-- C++Builder XML Project -->
<PROJECT>
  <MACROS>
    <VERSION value="BCB.05.03"/>
    <PROJECT value="Crystal.bpl"/>
    <OBJFILES value="UCrpeReg.obj CRDynamic.obj UCrpe32.obj UCrpeAbt.obj
UCrpeUtl.obj Crystal.obj"/>
    <RESFILES value="Crystal.res UCrpeReg.dcr"/>
    <IDLFILES value=""/>
    <DEFFILE value=""/>
    <RESDEPEN value="$(RESFILES)"/>
    <LIBFILES value=""/>
    <LIBRARIES value="dclocx50.lib inet50.lib inetdb50.lib nmfast50.lib
dss50.lib tee50.lib
      teedb50.lib teeui50.lib qrpt50.lib vcldbx50.lib ibsmp50.lib
vclmid50.lib
      vcljpg50.lib"/>
    <SPARELIBS value="vcl50.lib vclx50.lib vcljpg50.lib vclmid50.lib
vcldb50.lib vclbde50.lib
      bcbsmp50.lib ibsmp50.lib vcldbx50.lib qrpt50.lib teeui50.lib
teedb50.lib
      tee50.lib dss50.lib nmfast50.lib inetdb50.lib inet50.lib
dclocx50.lib"/>
    <PACKAGES value="vcl50.bpi vclx50.bpi vcldb50.bpi vclbde50.bpi
bcbsmp50.bpi"/>
    <PATHCPP value=".;"/>
    <PATHPAS value=".;"/>
    <PATHRC value=".;"/>
    <PATHASM value=".;"/>
    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
    <RELEASELIBPATH value="$(BCB)\lib\release"/>
    <LINKER value="ilink32"/>
    <USERDEFINES value=""/>
    <SYSDEFINES value="_RTLDLL;NO_STRICT;_VIS_NOLIB;USEPACKAGES"/>
    <MAINSOURCE value="Crystal.cpp"/>
    <INCLUDEPATH value="$(BCB)\include;$(BCB)\include\vcl"/>
    <LIBPATH value="$(BCB)\lib\obj;$(BCB)\lib"/>
    <WARNINGS value="-w-par -w-8027 -w-8026"/>
    <WARNOPTSTR value=""/>
  </MACROS>
  <OPTIONS>
    <IDLCFLAGS value="-I$(BCB)\include -I$(BCB)\include\vcl -src_suffix
cpp -boa"/>
    <CFLAG1 value="-O2 -H=g:\PROGRA~1\borland\CBUILD~1\lib\vcl50.csm -Hc
-Vx -Ve -X- -a8 -b-
      -k- -vi -c -tWM"/>
    <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
    <RFLAGS value=""/>
    <AFLAGS value="/mx /w2 /zn"/>
    <LFLAGS value="-D&quot;Seagate Crystal Reports VCL for C++ Builder
4&quot; -aa -Tpp -Gpd -x -Gn -Gl
      -Gi"/>
  </OPTIONS>
  <LINKER>
    <ALLOBJ value="c0pkg32.obj $(PACKAGES) Memmgr.Lib sysinit.obj
$(OBJFILES)"/>
    <ALLRES value="$(RESFILES)"/>
    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cp32mti.lib"/>
  </LINKER>
  <IDEOPTIONS>
[Version Info]
IncludeVerInfo=1
AutoIncBuild=0
MajorVer=7
MinorVer=4
Release=0
Build=51
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=1033
CodePage=1252

[Version Info Keys]
CompanyName=Seagate Software
FileDescription=Crystal Reports VCL
FileVersion=7.4.0.51
InternalName=TCrpe
LegalCopyright=?1999 Seagate Software
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=7.4.0.51
Comments=Released October 1999

[HistoryLists\hlIncludePath]
Count=1
Item0=$(BCB)\include;$(BCB)\include\vcl

[HistoryLists\hlLibraryPath]
Count=1
Item0=$(BCB)\lib\obj;$(BCB)\lib

[HistoryLists\hlDebugSourcePath]
Count=1
Item0=$(BCB)\source\vcl

[Debugging]
DebugSourceDirs=$(BCB)\source\vcl

[Parameters]
RunParams=
HostApplication=
RemoteHost=
RemotePath=
RemoteDebug=0

[Compiler]
ShowInfoMsgs=0
LinkDebugVcl=0
LinkCGLIB=0

[Language]
ActiveLang=
ProjectLang=
RootDir=
  </IDEOPTIONS>
</PROJECT>

Here is .cpp as used by BCB4:

#include <vcl.h>
#pragma hdrstop
USERES("Crystal.res");
USEPACKAGE("vcl40.bpi");
USEUNIT("UCrpeReg.pas");
USERES("UCrpeReg.dcr");
USEPACKAGE("VCLX40.bpi");
USEPACKAGE("VCLDB40.bpi");
USEUNIT("CRDynamic.pas");
USEUNIT("UCrpe32.pas");
USEUNIT("UCrpeAbt.pas");
USEUNIT("UCrpeUtl.pas");
USEPACKAGE("bcbsmp40.bpi");

And here after BCB5:

#include <vcl.h>
#pragma hdrstop
USERES("Crystal.res");
USEUNIT("UCrpeReg.pas");
USERES("UCrpeReg.dcr");
USEUNIT("CRDynamic.pas");
USEUNIT("UCrpe32.pas");
USEUNIT("UCrpeAbt.pas");
USEUNIT("UCrpeUtl.pas");
USEPACKAGE("vcl50.bpi");
USEPACKAGE("vclx50.bpi");
USEPACKAGE("vcldb50.bpi");
USEPACKAGE("vclbde50.bpi");
USEPACKAGE("bcbsmp50.bpi");

Re:Rebuilding Pkgs BCB4->BCB5


With BCB shut down (or at least the project/package closed open the bpr in
notepad.  In both the libraries and sparelibs remove the dss50.lib and save it.
Now you can open the thing in the IDE and try now.  The IDE has this annoying
habit of readding items at times when you delete it.  If that doesn't work you
can zip everything I'd need and e-mail me.  I should be able to track it down
fairly fast and I'll return it to you.

Quote
"Robert F. Tulloch" wrote:

> Hi:

>   I really still don't understand this. This package was installed under
> BCB4 with no problem at all and ran fine. Something in BCB5 had to
> change this: Here is make file with ref to DSS50.lib etc.

> <?xml version='1.0' encoding='us-ascii' ?>
> <!-- C++Builder XML Project -->
> <PROJECT>
...
>     <LIBRARIES value="dclocx50.lib inet50.lib inetdb50.lib nmfast50.lib
> dss50.lib tee50.lib
>       teedb50.lib teeui50.lib qrpt50.lib vcldbx50.lib ibsmp50.lib
> vclmid50.lib
>       vcljpg50.lib"/>
>     <SPARELIBS value="vcl50.lib vclx50.lib vcljpg50.lib vclmid50.lib
> vcldb50.lib vclbde50.lib
>       bcbsmp50.lib ibsmp50.lib vcldbx50.lib qrpt50.lib teeui50.lib
> teedb50.lib
>       tee50.lib dss50.lib nmfast50.lib inetdb50.lib inet50.lib
> dclocx50.lib"/>

--
Jeff Overcash (TeamB)
      (Please do not email me directly unless  asked. Thank You)
Maybe it was infatuation or the thrill of the chase.
Maybe you were always beyond my reach and my heart was playing safe.
But was that love in your eye I saw or the reflection of mine?
Give me time, won't you give me that time!
Welcome back to the circus.            (Fish)

Re:Rebuilding Pkgs BCB4->BCB5


Hi:

  Same vein another silly problem: Just for info.

  AsyncPro 2.57 pkg which was fine in bcb4 gives me unresolved externals
to to sysutils & classes. on a bunch of str functions. I checked in the
Delphi sysutils
and for example function is:

  function StrPas(Str: PChar): string;

while in the BCB5 sysutils it is

  function StrPas(const Str: PChar): string;

Don't know if this can make a difference. They are all that way.

Noted in Delphi the design time package uses the runtime. The runtime
bpi has hard coded VCL40.bpi references in it which obviously BCB5 did
not change while the design time package bpi were all changed from
vcl40.bpi to vcl50.bpi. This of course screws things up. I tried to edit
the bpi and change them but really screwed that up with the following
error:

[Linker Error] 'G:\PROGRAM FILES\ASYNCPRO\A257_R40.BPI' contains invalid
OMF record, type 0x5f

Oh well. Any ideas or suggestions appreciated. Async has supposedly been
working on a minor upgrade to their package for APRO 3 (been working for
over 50 days now). They say that since their 3.0 came out before BCB5,
it will be a paid for upgrade. I am using 2.57, not even 3.0 so It might
be a couple of hundred bucks for this silly little thing. I modified
alot of their source before to get things to work right and it's pretty
easy to figure it out. I would like to do smae here but got list in the
package stuff.

                                                         Best regards

Re:Rebuilding Pkgs BCB4->BCB5


Hi:

Quote
> With BCB shut down (or at least the project/package closed open the bpr in
> notepad.  In both the libraries and sparelibs remove the dss50.lib and save it.
> Now you can open the thing in the IDE and try now.  The IDE has this annoying
> habit of readding items at times when you delete it.

  I just checked and it is no longer there because I removed the package
and installed the components into my user package.

  I will have to go back and take them out of user and reinstall Crystal
package to get it back. Then delete the reference and try.

Thanks.

                                             Best regards

Re:Rebuilding Pkgs BCB4->BCB5


HI:

  I think there is something just screwed up here.

  Another component problem in Ssync Pro 2.57:

  When I make, during linking I get a bunch of unresolved
externals-These are a few of them:

[Linker Error] Unresolved external '__fastcall
Classes::TComponent::UpdateRegistry(System::TMetaClass *, bool, const
System::AnsiString, const System::AnsiString)' referenced from
G:\PROGRAM
FILES\BORLAND\CBUILDER5\PROJECTS\LIB\A257_R40.LIB|.\Admoddb.PAS

[Linker Error] Unresolved external '__fastcall
Classes::TComponent::ValidateRename(Classes::TComponent *, const
System::AnsiString, const System::AnsiString)' referenced from
G:\PROGRAM
FILES\BORLAND\CBUILDER5\PROJECTS\LIB\A257_R40.LIB|.\Admoddb.PAS

[Linker Error] Unresolved external '__fastcall
Classes::TStringList::SetSorted(bool)' referenced from G:\PROGRAM
FILES\BORLAND\CBUILDER5\PROJECTS\LIB\A257_R40.LIB|.\Admoddb.PAS

[Linker Error] Unresolved external '__fastcall Sysutils::StrPas(char *)'
referenced from G:\PROGRAM
FILES\BORLAND\CBUILDER5\PROJECTS\LIB\A257_R40.LIB|.\Admoddb.PAS

[Linker Error] Unresolved external '__fastcall Sysutils::StrLen(char *)'
referenced from G:\PROGRAM
FILES\BORLAND\CBUILDER5\PROJECTS\LIB\A257_R40.LIB|.\Admoddb.PAS

[Linker Error] Unresolved external '__fastcall Sysutils::StrCopy(char *,
char *)' referenced from G:\PROGRAM
FILES\BORLAND\CBUILDER5\PROJECTS\LIB\A257_R40.LIB|.\AwIniDB.PAS

Couldn't figure this out so I closed project and started a new one.
Nothing but form with same components as on other form giving unresolved
externals. Make and link work fine. No messages.

Went back to original project, removed the offending components. Pasted
new set of the same components as on the test form back and named same
as deleted ones.

Make and link pop up the same unresolved errors!!!

Can you make any sense of this? There must be something hidden away
causing this.

                                                       Best regards

Re:Rebuilding Pkgs BCB4->BCB5


HI:

  Took your suggestion. Went back & tried recompiling each pkg (outside
of app) where there was problem. Noted each error, checked Help |
packages and noted what each was for. Then deleted entry in bpr.

  Once that was done, went back to app bpr and deleted all ref to those
.lib's which were screwed up in each package.

  Reinstalled all the offending packages and all compiled and linked/ran
fine.

  Is this something in BCB5 and where would all these erroneous entries
come from? The last one I removed was vclmid50.lib. It was listed in hlp
but no explanation as to what it is.

  Thanks much for your input.

                                                   Best regards

Re:Rebuilding Pkgs BCB4->BCB5


Quote
"Robert F. Tulloch" wrote:

> HI:

>   Is this something in BCB5 and where would all these erroneous entries
> come from? The last one I removed was vclmid50.lib. It was listed in hlp
> but no explanation as to what it is.

VCLMID50 is the midas package IIRC.  Once again, an Enterprise component.
Packages/Projects remember what packages they are supposed to build with and
this is always a problem when someone isn't careful about what they place on the
packages tab of the project options for the packages the project should use.
That line defaults to all installed packages.  This is a shotgun approach since
the linker will sort out what isn't needed.  Before someone with Ent sends
something to Pro users they should double check that line and only include
thyose items really needed to help alleviate this issue.

Quote
>   Thanks much for your input.

>                                                    Best regards

--
Jeff Overcash (TeamB)
      (Please do not email me directly unless  asked. Thank You)
Maybe it was infatuation or the thrill of the chase.
Maybe you were always beyond my reach and my heart was playing safe.
But was that love in your eye I saw or the reflection of mine?
Give me time, won't you give me that time!
Welcome back to the circus.            (Fish)

Other Threads