Crystal Report 2016 einbinden ?



  • Ich nehme mal an, daß sich einfach die Versionsnummer geändert hat, also

    #include "CrystalActiveXReportViewerLib14_2_OCX.h" // oder eine andere Versionsnummer
    // ...
        m_Application.CreateInstance(AnsiTowchar_t("CrystalRuntime.Application.14"));
    

    Edit: Laut englischer Wiki Crystal Reports ist die interne Versionsnummer für CR 2016 14.2.



  • @Martin-Richter Hallo Martin, es gibt keine Exception und auch noch kein Ergebnis, weil ich überhaupt noch nicht weiß wie ich den neuen Crystal Report 2016 einbinden soll.



  • @Th69 Das einbinden auf diese weise funktioniert eben nicht mehr bei der Version 2016. Das habe ich probiert.



  • Was für Fehler erhältst du denn?

    Du kannst auch mal mit RegDllView schauen, welche COM-Module bei dir registriert sind.



  • @andivdeu sagte in Crystal Report 2016 einbinden ?:

    Das einbinden auf diese weise funktioniert eben nicht mehr bei der Version 2016.

    Dann gib uns doch mal den Rückgabewert von m_Application.CreateInstance() an!

    Wir können hier nicht ins Blaue raten, was bei dir fehlschlägt. Dazu gibt es zuviele mögliche Ursachen.



  • @andivdeu scheint schon Compiler-Fehler zu haben, aber welche, das will er ja nicht verraten.

    Meine Kristallkugel (crystal ball ; -) funktioniert leider auch nicht mehr...



  • @Quiche-Lorraine ok, hier der Code für 2016:

    #include "CrystalActiveXReportViewerLib14_OCX.h"
    #include "CrystalActiveXReportViewerLib14_TLB.h"
    #include "CrystalPrintControlLib_OCX.h"
    #include "CrystalPrintControlLib_TLB.h"
    
    IApplicationPtr m_Application;   //..Diesen Pointer findet er schon nicht, weil es das in den includeten Units des neuen CR2016 anscheinend nicht mehr gibt?!
    
    an diesen Punkt kommt er dann schon gar nicht.
    	m_Application.CreateInstance(AnsiTowchar_t("CrystalRuntime.Application.14"));
    

    Beim CR11 gibt es noch eine craxddrt.dll in der das Application Object "CrystalRuntime.Application.11" vorhanden ist. Bei dem neuen CR 2016 gibt es diese dll schon gar nicht mehr. Habe mit dem RegDllView wie Th69 vorgeschlagen hat in jeder dll vom CR2016 (SAP Verzeichnis) nachgeschaut.
    Beim CR11 werden beim Typlibrary Import folgende Dateien erzeugt:

    #include "CrystalActiveXReportViewerLib11_5_OCX.h"
    #include "CRAXDDRT_OCX.h"
    #include "CRAXDDRT_TLB.h"
    

    und in der CRAXDDRT_*.h steht wohl auch das "CrystalRuntime.Application.11" drin.
    Wie soll man diese "CrystalRuntime.Application.XX" erzeugen, wenn es diese craxddrt.dll schon gar nicht mehr gibt? Hab im SAP Forum auch nichts gefunden. Es gibt ja nicht mal ein C# Example oder ähnliches von dem SAP Saftladen. 😉



  • @Th69

    #include "CrystalActiveXReportViewerLib14_OCX.h"
    #include "CrystalActiveXReportViewerLib14_TLB.h"
    #include "CrystalPrintControlLib_OCX.h"
    #include "CrystalPrintControlLib_TLB.h"
    
    IApplicationPtr m_Application; 
    

    Die Compiler Fehlermeldung lautet:

    [bcc32c Fehler] F_main.cpp(14): unknown type name 'IApplicationPtr'
    


  • Hast du noch das Projekt für Crystal Reports 11?
    Kannst du dann mal in der IDE schauen, wo genau IApplicationPtr definiert ist (und als was) : "Gehe zu Definition" oder so ähnlich?
    Dies sollte m.E. in einem allgemeinen COM/ActiveX-Header definiert sein.
    Ansonsten suche mal (z.B. über den Windows Explorer) in allen C++Builder-Headern direkt nach IApplicationPtr.



  • @andivdeu sagte in Crystal Report 2016 einbinden ?:

    Wie soll man diese "CrystalRuntime.Application.XX" erzeugen, wenn es diese craxddrt.dll schon gar nicht mehr gibt?

    Oh oh, so wie es aussieht ist das Ganze veraltet: c++/MFC, Upgrading from Crystal Reports 11 to 13



  • Danke für eure Unterstützung, 👍🏼
    Ich werde ein anderes Produkt verwenden.