Announcement

Collapse
No announcement yet.

RDC Geschwindigkeit

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • RDC Geschwindigkeit

    Die VCL von Crystal funktioniert nicht unter CR9.<p>

    Wir haben deshalb auf die RDC umgestellt. Das Problem ist (neben anderen Schwierigkeiten ) die Zeit<p>
    Das Öffnen des Reports über Report := Application1.OpenReport( fReportName, crOpenReportByDefault ); dauert ca. 10 Sekunden<br>
    Das Drucken über Report.PrintOut( False, 1, False, SeiteVon, SeiteBis ); dauert im Netz 1 Minute und 6 Sekunden.<br>
    Lokal dauert das Drucken ca. 5 Sekunden.<p>
    Die Ladezeit von 10 Sekunden beim Öffnen des Reports ohne das der Report analysiert, die Datenpfade umgesetzt oder sonstiges gemacht werden ist schon nicht akzeptabel <p>
    Kann jemand helfen oder kriege ich wie üblich keine Antwort.

  • #2
    Hallo,

    &gt;Die VCL von Crystal funktioniert nicht unter CR9.

    Wenn die vom Crystal Report 9-Setup abgelegte Package in Delphi installiert wird, steht die VCL-Komponente <b>TCrpe</b> zur Verfügung. Der VCL-Weg steht also auch in CR9 zur Verfügung, wie das folgende Beispiel zeigt:

    <pre>

    Crpe1.WindowStyle.BorderStyle := bsNone;
    Crpe1.WindowParent := Panel1;
    Crpe1.ReportName := sAppPath + 'OSD7CR9.rpt';
    Crpe1.Connect.DatabaseName := sAppPath + 'OSCR9DEMO.mdb';
    Crpe1.Execute;

    </pre>

    Auch das Problem mit RDC kann ich nicht nachvollziehen, wobei ich aber in der Regel immer ein bereits auf dem ADO-Weg gefülltes Recordset-Objekt als Datenquelle nutze:

    <pre>

    var
    aCRApp : IApplication;
    aCRRpt : IReport;
    aCRDB : IDatabase;
    begin
    aCRApp := CoApplication.Create;
    aCRRpt := aCRApp.OpenReport(sPath, 0);
    aCRDB := aCRRpt.Database;
    // bereits gefülltes Recordset-Objekt als Datenquelle nutzen
    aCRDB.SetDataSource(FRecordSet, 3, 1);
    CRViewer91.ReportSource := aCRRpt;
    CRViewer91.ViewReport;
    end;

    </pre&gt

    Comment


    • #3
      Hallo,
      im August 2002 haben wir die Developer Version des Produktes Crystal Report 9 gekauft. Auf der Produkt-CD befindet sich die VCL-Komponente zum ansteuern von Reports aus der Programmiersprache Delphi. Nach der Installation der VCL-Komponente haben wir festgestellt, dass die TCrpe-Komponente nur teilweise und die TCrpeDS überhaupt nicht mit Crystal-Report 9 zusammenarbeiten. Auf der CD befinden sich keinerlei Informationen, dass die Komponenten nicht oder nur teilweise funktionieren. Die Firma Crystal Decisions lässt Entwickler hier offenbar ins offene Fehlermesser laufen. Der Technische Support hat es bis heute nicht geschafft ein WhitePaper zu schreiben aus dem eindeutig hervorgeht was funktioniert und was nicht.
      In der About Box der VCL Komponente verweist die Firma Crystal Decisions auf die Webseite:
      http://users.uniserve.ca/~zimmerman/delphi.htm
      Auf dieser Webseite klagt der Programmierer, Herr Zimmerman das er kein Geld von der Firma Crystal Decisions bekommt und er den neuen Reportgenerator in der Version 9 nicht hat und die VCL Komponente nicht weiterentwickelt. Wir sind uns nicht sicher, ob die Firma Crystal Decisions darauf aufmerksam machen möchte, dass im Bereich der VCL-Programmierung der ehemalige Chefentwickler nicht mehr da ist oder der Bereich der VCL-Programmierung nun nicht mehr besetzt ist.
      Im September 2002 hat der Technische Support uns gesagt, wir sollen von einer Produktwandlung Abstand halten, da bis zum Jahresende eine neue Komponente verfügbar sein wird. Wir haben bis zum Jahresende 2002 abgewartet. Zum Jahresende gab es keine neue Komponente und das 30-Tage Rückgaberecht war erloschen.
      Wir fühlen uns verschaukelt und werden den Eindruck von Unseriösität nicht los.
      Auf der Website von Herrn Zimmerman ist unter der Rubrik Bug Fixes and Changes ein Dokument mit benannten Fehlern zur aktuellen VCL-Komponente zu finden. Die Fehlerliste ist vom 28. August 2001. Die Firma Crystal Decisions hat scheinbar 18 Monate lang die VCL Entwicklung einschlafen lassen! Die Fehler sind noch immer in der akt. Version!
      Auf der Website von Herrn Zimmerman ist unter der Rubrik Delphi 7 ein Dokument mit Informationen zum Übersetzen der VCL Version für CR 8.5 nach Delphi 7 hinterlegt. Das Dokument ist vom 3. November 2002. Die Firma Crystal Decisions scheint kein Interesse an einer Produktweiterentwicklung zu haben. Es gibt keinen neuen Relasestand für Delphi 7 von der Firma Crystal Decisions.
      Achtung! Die RDC ist nur für VB 6 freigegeben aber nicht für Delphi. Crystal Decisions gibt keine eindeutige Freigabe für RDC+Delphi.
      Wir haben zu den o.g. Fakten und Fragen den Support mehrfach angerufen. Ich persönlich habe den Eindruck, dass sich im Haus Crystal Decisions niemand für die vielen Unzulänglichkeiten interessiert.
      Wir haben im August 2002 eine Produktkombination bestehend aus Crystal Report V9 und VCL-Komponente gekauft. Wir haben für eine Produktkombination bezahlt, die nicht funktioniert. Für uns stellt sich die Firma Crystal Decisions als ein unzuverlässiger Partner des Mittelstandes da. Im Nachhinein war es für uns ein strategischer Fehler, das innerbetriebliche Berichtswesen auf eine unseriöse Produktlinie umzustellen.

      Oranier Heiz- und Kochtechnik GmbH
      Matthias Schlege

      Comment


      • #4
        Hallo,

        meine Aussagen beziehen sich auf die Version <i>Crystal Report 9 Advanced Edition</i>. Zwar unterstützt Crystal Report 9 im Setup-Programm offiziell nur die Delphi-Versionen 2 bis 6, aber die im Sourcecode vorliegenden VCL-Komponenten lassen sich nach einer kleinen Anpassung auch in Delphi 7 verwenden:

        Dateien in den Verzeichnisbaum (Imports) von Delphi 7 kopieren und 2 Änderungen vornehmen:<br>
        1. Datei UCrpeDef.inc: Neue VER150-Abfrage für Delphi 7 <br>
        2. Datei UCrpeReg.pas: {$WARN UNSAFE_CODE OFF}

        <pre>

        {************************************************* *****************************}
        { Conditional Defines }
        {************************************************* *****************************}

        //Von Hand hinzugefügt, damit Delphi 7 compiliert

        { Delphi 7.0 }
        {$IFDEF VER150}
        {$DEFINE CR_DELPHI6}
        {$DEFINE CR_ALL6}
        {$DEFINE CR_6UP}
        {$DEFINE CR_5UP}
        {$DEFINE CR_4UP}
        {$DEFINE CR_3UP}
        {$DEFINE CR_2UP}
        {$DEFINE CR_D6UP}
        {$DEFINE CR_D5UP}
        {$DEFINE CR_D4UP}
        {$DEFINE CR_D3UP}
        {$DEFINE CR_D2UP}
        {$DEFINE CR_D6DOWN}
        {$ENDIF VER150}

        </pre>

        Die Delphi-Komponenten und Beispiele müssen vorher ausgepackt werden: <i>C:\Programme\Crystal Decisions\Crystal Reports 9\Samples\En\Code\Delphi\cr85vcl.exe</i>

        &gt;..hat scheinbar 18 Monate lang die VCL Entwicklung einschlafen lassen.

        Die Unterstützung der sprachspezifischen Anpassungen ist tot, somit gilt dies auch für die VCL-Komponenten. Statt dessen gibt es jetzt zwei sprachunabhängig Wege: <br>
        a) RDC <br>
        b) .NET

        &gt;..eine unseriöse Produktlinie ...

        So hart würde ich das nicht formulieren, denn Crystal Decisions stellt ja mit CR9 gleich 3 alternative APIs zur Verfügung:<br>
        1. API-Schnittstelle der Crystal Report Processing Engine (CRPE) <br>
        2. Objektmodell von Report Designer Component (RDC) <br>
        3. Klassen/Komponenten von .NET

        Auch mit Delphi 7 lassen sich die ersten beiden Schnittstellen bedienen. Der Zugriff über RDC erfolgt dabei über den üblichen COM-Weg, d.h. wir müssen in Delphi 7 die Typbibliothek <i>Report Designer Component 9 (RDC)</i> und das ActiveX-Control <i>Crystal Report Viewer Control 9 (Version 9.2)</i> einmalig importieren. Nur für den Uralt-Weg über die VCL-Komponente TCrpe ist in manueller Eingriff in den Sourcecode notwendig - aber im CR9 wird ja extra darauf hingewiesen, dass neue Anwendungen die alte Schnittstelle nicht mehr bedienen sollten, da diese zukünftig wegfällt.

        P.S: Auch Borland wechselt momentan zum Crystal Report (siehe C#Builder)

        Comment

        Working...
        X