Page 1 of 1

Cant install RVXML after installing TRichView reg-key

Posted: Tue Jun 12, 2007 6:45 pm
by michael76
After installing the TRichView registration key I had to uninstall all TRichView Components and recompile/install the delivered TRichView Components.

Now I tried to install the RVXML package, but BCB 6 returns the following message box (german):
C++Builder 6: bcb.exe -Einsprungpunkt nicht gefunden
Der Prozedureinsprungpunkt "@Rvfmisc@RVFStream2TextString$qqrp21Classes@TMemoryStream" wurde in der DLL "RVPkgCB6.bpl" nicht gefunden.
C++Builder 6: bcb.exe - Entry point not found
The procedure entry point "@Rvfmisc@RVFStream2TextString$qqrp21Classes@TMemoryStream" was not found in DLL "RVPkgCB6.bpl".
Did anyone have an idea how it works?

Thank you!

Posted: Wed Jun 13, 2007 7:30 pm
by Sergey Tkachenko
Make sure that you deleted files of the previous (trial) version of trichview - all dcu, obj, hpp files.
RvXml package must be rebuilt after updating trichview

Posted: Thu Jun 14, 2007 6:40 am
by michael76
Thank you, I've deleted all files, reinstalled RVPkgCB6.bpk and RVDBPkgCB6.bpk. During compilation of RVXMLCB6.bpk the following errors arose:
[Pascal Fehler] RVXMLMisc.pas(182): Inkompatible Typen: 'TRVMemoryStream' und 'TMemoryStream'
[Pascal Fehler] RVXMLMisc.pas(237): Inkompatible Typen: 'TRVMemoryStream' und 'TMemoryStream'
[Pascal Fataler Fehler] RVXMLRoutines.pas(8): Verwendete Unit 'C:\sandbox\vm_mod\vio.base\TRichView\CB6\RVXMLMisc.pas' kann nicht compiliert werden
[Linker Fataler Fehler] Fatal: Unable to open file 'RVXMLCB6.OBJ'
[Pascal Error] RVXMLMisc.pas(182): Incompatible types: 'TRVMemoryStream' and 'TMemoryStream'
[Pascal Fehler] RVXMLMisc.pas(237): Incompatible types: 'TRVMemoryStream' and 'TMemoryStream'
[Pascal Fatal Error] RVXMLRoutines.pas(8): Used Unit 'C:\sandbox\vm_mod\vio.base\TRichView\CB6\RVXMLMisc.pas' cannot be compiled
[Linker Fatal Error] Fatal: Unable to open file 'RVXMLCB6.OBJ'
Replacing all TMemoryStream into TRVMemoryStream in RVXMLMisc and RVXMLRoutines results linker error:
[Linker Fehler] Unresolved external '__fastcall Outline::TCustomOutline::~TCustomOutline()' referenced from C:\PROGRAMME\BORLAND\CBUILDER6\LIB\BCBSMP.LIB|.\cdiroutl.cpp
[Linker Fehler] Unresolved external '__fastcall Outline::TCustomOutline::TCustomOutline(Classes::TComponent *)' referenced from C:\PROGRAMME\BORLAND\CBUILDER6\LIB\BCBSMP.LIB|.\cdiroutl.cpp
... and more
Do you have any idea?

Posted: Tue Jun 19, 2007 11:23 am
by michael76
I repeated and got the same error again and again. Can someone help me or has someone an idea?

Posted: Tue Jun 19, 2007 12:38 pm
by martindholmes
I have a similar problem on Delphi 2005 with the latest TRichView and the latest RVXML. I think there's a serious issue here.

Posted: Wed Jun 20, 2007 1:33 am
by Sergey Tkachenko
1) Yes, it is correct, references to TMemoryStream must be changed to TRVMemoryStream. RVClasses must be added in "uses" of RVXML units that use TRVMemoryStream.
2) I believe the linker problems disappear when you restore RVXMLCB6.bpk from the installation. I suppose you saved the package file after compilation, and BCB automatically added several incorrect references to the package.

Posted: Wed Jun 20, 2007 2:35 am
by martindholmes
Hi Sergey,

I definitely didn't save the file; I even tried a completely fresh download. Having changed all the references in two files, though, it compiles OK.

I wonder how much money you'd want to create a complete installer/upgrader that would handle installation and upgrade of all the packages and dependencies, in the right order? Every time I upgrade TRichView I have a stressful time :-)

Cheers,
Martin

Posted: Fri Jun 22, 2007 9:19 am
by michael76
Hi,
now I got it! Thnaks for the hint!

The following instruction should work for new users using BCB:

execute regkey11.reg (only commercial version)
install Install2007.exe in an empty target directory
unzip files in sources in richviewxml.zip in the same directory

double click, comile and install RVPkgCB6.bpk
double click, comile and install RVDBPkgCB6.bpk

Do the following changes:
RVXMLMisc.pas - Row 6: uses SysUtils, Classes, RVItem, Controls, Graphics, CRVData, RVXMLBase, RVTable, RVStyle, RVFMisc, ImgList, RVClasses;

in RVXMLMisc.pas and RVXMLRoutines.pas: replace all TMemoryStream with TRVMemoryStream
double click on RVXMLCB6.bpk
add bcbsmp.bpi (Borland BCB Programs Dir) in "Reqiures"
add RVClasses.pas in "Contains"

comile and install RVXMLCB6.bpk


Thats it!

Posted: Sun Jun 24, 2007 7:27 am
by Sergey Tkachenko
Yes, I missed it - RVClasses must be added in uses of RVXML files, because this is the unit where TRVMemoryStream is defined.

I do not understand why do you need to add bcbsmp.bpi in "requires". Probably this package contains TCustomOutline definition from these linker errors. But RVXML does not use this TCustomOutline. This is not so important.

But adding RVClasses in "contains" for RVXML package is definitely wrong. After that, RVClasses will be contained in 2 packages - RVPkgCB6 and RVXMLCB6. It's bad, and it's a wonder that you managed to install RVXML after this change. RVXMLCB6 requires RVPkgCB6, RVPkgCB6 contains RVClasses, it's enough.

Posted: Sun Jun 24, 2007 7:52 am
by michael76
Yes, you're right! Adding RVClasses in "contains" for RVXML package is wrong. Sorry! But I need to add bcbsmp.bpi in "requires", because this package contains the TCustomOutline definition.