Adobe Reader ActiveX mitliefern?



  • Hi,

    ich habe das ActiveX-Element des Adobe Reader in meine Anwendung aufgenommen.
    Nun stellt sich mir die Frage, ob man defekten oder unvollständigen Adobe
    Reader Installationen etwas entgegen setzen kann, in dem man das ActiveX
    mit der Anwendungs-exe mitliefert.

    Sollte das grundsätzlich gehen? Muss ich ein OCX oder eine DLL mitgeben?
    Bzw. wie kann ich eine Warnmeldung ausgeben, wenn das ActiveX-Element nicht zu finden ist?

    Bisher ist mein Programm dann nichtmal gestartet. Was ansich schon ärgerlich ist,
    wenn man das nicht mind. mit einer aussagekräftigen Meldung unterlegen kann.



  • Das ActiveX ist sicher nicht alleine lauffähig. Eine Weitergabe bringt nichts, zumal das ActiveX sicher auch versionsabhängig ist. Zulässig ist es zudem auch nicht.

    Wenn das ActiveX-Objekt nicht erstellt werden kann, wird eine Fehlermeldung zurückgegeben. Diese müsstest Du auswerten und anzeigen.



  • ???

    Verstehe ich nicht. Willst Du in Deinem Programm ein PDF anzeigen ?



  • Es ist ganz einfach: Frag Adobe.



  • Jochen Kalmbach schrieb:

    Es ist ganz einfach: Frag Adobe.

    Witzbold. Mach Dir den Spaßß und frage mal nach der Bedeutung der Fehlercodes
    wenn der Reader meint "101". Sie wissen das selbst nicht.



  • Die Frage ist ja nicht, ob es *geht*, sondern ob Du es *darfst*!



  • Bitte keine Kriegstreiberei 😃

    Wie würde ich denn überhaupt den Fehler abfangen können?
    Mein Programm wird sofort beendet, wenn der Adobe Reader
    nicht korrekt installiert ist.

    Muss ich das in der InitInstance() abfangen?
    Und wie stelle ich das dann an? Mit GetLastError, oder
    mit dem Versuch eines Create auf das PDF-Element?

    😞



  • Du wirst dann vermutlich nicht drum rum kommen, dieses OCX via "late-binding" oder "delay-loading" in Deine Anwendung einzubinden.



  • Hi Actox,

    blöde Frage: Kann man der Reader als OCX so einfach als Control in ein
    Windows-Programm einbinden ? Ich hatte mir mal zur PDF-Anzeige selbst mal
    etwas gebastelt ... für eine Untermenge der Unmenge an PDF-Befehlen ...



  • @Jochen:

    "late-binding" oder "delay-loading"

    sagt mir leider alles (noch) nichts. Wie ist das zu realisieren?

    @Scheppertreiber: Ja, kannst du. Einfach im Visual Studio über ActiveX-Elemente
    den Eintrag des Adobe Reader wählen. Auf deinem Dialog wird dann ein Control gezeichnet, welchem du einfach noch eine Variable zuordnest und dann entsprechende Befehle der PDF-Klasse aufrufen kannst.



  • Sers Actox,

    dh ich kann dem direkt eine PDF-Datei unterschieben ?

    Visual Studio habe ich natürlich nicht, der Aufruf sollte sich aber irgendwie
    herausbekommen lassen. Kann man das dann fest ins Programm linken oder muß das
    auf dem Rechner installiert sein ?

    Hintergrund: Ich arbeite an einem Archivsystem, alle Dokumentenanzeigen laufen
    über PDFs (weil's praktisch und präzise ist). Das Archiv spuckt auch Stand-Alone
    CDs aus die ohne Installation lauffähig sind.



  • Afaik muss das ActiveX-Element, welches bei der Adobe-Installation mit
    abgeworfen werden sollte, vorhanden sein. Dann kannst du deine PDF-Dateien
    auch mit z.B. sowas wie

    m_pdf.LoadFile("c:\\test.pdf");
    

    anzeigen.



  • Merci, ich probier's mal bei Gelegenheit.


Anmelden zum Antworten