Skip to Content
0
Former Member
Aug 16, 2008 at 01:30 AM

BDS 2006 and CR 12.0

257 Views

We're using Delphi 2006 (Win32) and CR 12.0 (Windows XP).

We downloaded the VCL11 [VCL from BusinessObjects.com (crystalvcl11.zip)|http://ftp1.businessobjects.com/outgoing/products/vcl/crystalvcl11.zip]

and edited the VCL following the instructions in [Updating the VCL.pdf|https://forums.sdn.sap.com/servlet/JiveServlet/download/313-961595-5786667-580/Updating%20the%20CR%20XI%20VCL.pdf].

Doing this we didn' understand the following instructions (TCrpe.GetReportStyle and TCrpe.SetReportStyle):

4. UCrpe32.pas

This is the main unit file of the Crystal Reports VCL.

i. Update the version number check that occurs as the report engine and report document is being loaded. This is located in the TCrpe.LoadEngine, TCrpe.GetReportStyle and TCrpe.SetReportStyle.

ii. Update the About contents by updating the TCRPE_VERSION constant.

What version number in

procedure TCrpe.SetReportStyle(const Value: TCrReportStyle);
var
  wStyle : Word;
  xInt   : integer;
begin
  FReportStyle := Value;
  if IsStrEmpty(FReportName) then Exit;
  if not OpenPrintJob then Exit;

  wStyle := FCrpeEngine.PEGetReportStyle(FPrintJob);
  if wStyle > 10 then
  begin
    case GetErrorMsg(FPrintJob,errNoOption,errEngine,'',
        'SetReportStyle <PEGetReportStyle>') of
      errIgnore : Exit;
      errAbort  : Abort;
      errRaise  : raise ECrpeError.Create(FLastErrorNumber, FLastErrorString);
    end;
  end;

  xInt := wStyle;
  if Ord(FReportStyle) <> xInt then
  begin
    wStyle := Ord(FReportStyle);
    {Send in changes}
    if not FCrpeEngine.PESetReportStyle (FPrintJob, wStyle) then
    begin
      case GetErrorMsg(FPrintJob,errNoOption,errEngine,'',
          'SetReportStyle <PESetReportStyle>') of
        errIgnore : Exit;
        errAbort  : Abort;
        errRaise  : raise ECrpeError.Create(FLastErrorNumber, FLastErrorString);
      end;
    end;
  end;
end;

?

All other updates to the VCL where made.

We installed TCrpe and created a new Delphi project using this component.

Running the application, the follwing error appears:

ECrpeError mit der Meldung 'Error: 100 Error loading library: CRPE*".DLL'

The error occurs in:

function TCrpeEngine.PELoadCrpeDll(const CrpeLocation: string) : Bool;

Eventually missing pvlocale-1-0.dll (CRPE32.DLL was found)?

We also tried to use the viewer (package in crystalvcl11.zip).

Using this component leads to the error:

[Pascal Fehler] CrystalActiveXReportViewerLib12_TLB.pas(2906): E2160 Typ in einem OLE-Automatisierungsaufruf nicht erlaubt

occurred in the line

InterfaceVariant.ObjectPosition := pVal;

:

function TCRVSelectionItem.Set_ObjectPosition(pVal: tagRECT): HResult;
  { Warnung: Die EigenschaftObjectPosition hat einen Setter und eine Getter, deren
    Typen unterscheidlich sind. Delphi kann keine solche Eigenschaft generieren
    und verwendet deshalb eine Variante . }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ObjectPosition := pVal;
  Result := S_OK;
end;

How can get Delphi 2006 (Win32) and CR 12 (CRPE and viewer) working together ?

Thanks for your help.

Rolf