![]() |
Debenu PDF Library
Ich habe ein Projekt, wo ich eine ältere Version (11.12) von Debenu PDF Library nutze. Das Projekt wurde unter XE5 entwickelt. Nun habe ich den Rechner neu gemacht und nur noch Seattle und Tokyo drauf. Das Projekt wollte ich nun auf Tokyo hochziehen, aber die IDE meldet, dass die Unit "DebenuPDFLibrary" nicht aufgelöst werden kann.
Im Suchpfad ist der Pfad aber drin. Dort liegen aber nur die DCU's. Mache ich etwas falsch oder merkt die IDE, dass die DCU's nur für ältere Versionen compiliert wurden?
Delphi-Quellcode:
unit DebenuPDFLibrary; --->> hier kommt beim Drüberziehen mit der Maus, dass die Unit nicht aufgelöst werden kann.
interface uses DebenuPDFLibrary1112; const LibVer: AnsiString = '11.12'; LibVerNum = 11.12; type TDebenuPDFLibrary = class(TDebenuPDFLibrary1112); implementation end. |
AW: Debenu PDF Library
DCUs sind versionsabhängig, d.h. sie lassen sich nur in der Version verwenden, unter der sie auch kompiliert wurden. Versuch doch mal, den Source-Ordner (sofern vorhanden) dem Bibliothekspfad hinzuzufügen.
|
AW: Debenu PDF Library
DCUs sind compilerabhängig
|
AW: Debenu PDF Library
Mit dem alten Delphi einen Wrapper für eine DLL bauen und dann im neuen Delphi die DLL nutzen. Oder neu kaufen.
|
AW: Debenu PDF Library
Zitat:
Zitat:
Das andere mit der DLL würde mich schon interessieren, aber da weiß ich noch nicht, wie ich das bewerkstelligen soll. Gibt es da Ansätze? |
AW: Debenu PDF Library
Zitat:
Dann erzeuge aus dem Interface einen Wrapper in der DLL. Compilieren mit XE5. Dann kannst Du die DLL über Deine Interface in jedem Delphi verwenden. Mavarik |
AW: Debenu PDF Library
Hallo,
da QuickPDF sehr viele Funktionen hat, würde ich das mit dem Wrapper nicht machen. Ich würde einfach mal schauen, was der alte Code so macht: geg: Parameter ges: PDF Und dann in eine Dll auslagern. Zum Erzeugen der Dll brauchst du aber auf jeden Fall das alte Delphi (XE5). |
AW: Debenu PDF Library
Zitat:
|
AW: Debenu PDF Library
An sich brauche ich nicht viele Funktionen der Bib.
Ich suche nur alle Seiten einer PDF Datei durch und trage dann Sprungziele ein. So habe ich das noch in Erinnerung. Sollten also nicht so viele Funktionen sein. Das XE5 wollte ich eigentlich nicht mehr installieren. Aber da könnte ich einen anderen Rechner nehmen, wo ich das Aufspielen könnte. Wenn ich euch recht verstehe, baue ich eine DLL, die dann möglicherweise noch eine DLL von Debenu aufruft. Ich habe jedenfalls noch eine DLL in den zugehörigen Pfaden gefunden. Danke erst einmal für eure Funktionen. |
AW: Debenu PDF Library
such mal in den QuickPDF Quellen unter
...\DLL\Import\Delphi\DebenuPDFLibraryDLL1112.pas Damit solltest Du die DLL direkt einbinden können. |
AW: Debenu PDF Library
Zitat:
Es kommen nun andere Fehlermeldungen, aber vielleicht komme ich dadurch weiter. |
AW: Debenu PDF Library
Ich habe nun ein Angebot für eine Upgrade bekommen. Man hätte wahrscheinlich Aktien von der Firma kaufen sollen.
Innerhalb von ca. 4 Jahren soll ich den doppelten Preis nur für eine Upgrade bezahlen und die Subscription kostet so viel, wie ich damals für eine Vollversion bezahlt habe. Das nennt man Rendite. Ich werde deshalb die Vorschläge von euch umsetzen müssen. |
AW: Debenu PDF Library
Zitat:
Wenn Du die Quelldateien für den Zugriff auf die Debenu-DLLs hast, so sollten dies relativ einfach (Du kommst ja von XE5) auf ein aktuelle 10.1/10.2 anpassbar sein. vermutlich musst du nur die IFDEFs (liegen oft in einer *.inc-Datei) um die Compilerversionen VER310/VER320 (10.1/10.2) ergänzen an der stelle an der du ein {$IFDEF VER260} Ist m.E. sinnvoller um eine Wrapper-DLL zu schreiben die nicht weiter mach um eine Wrapper-Unit für eine DLL zu wrappen. |
AW: Debenu PDF Library
Vielen Dank für eure Informationen. Dadurch kann ich höchstwahrscheinlich das Upgrade sparen.
Zitat:
Was aber nicht geht, ist der Aufruf von
Delphi-Quellcode:
wobei ViewPrintQP vom Typ TDebenuPDFLibrary ist.
ViewPrintQP.RenderPageToStream(DPI, ViewPrintPageNum, 0, MS);
Es erscheint Undeklarierter Bezeichner: 'RenderPageToStream'. Zusatz: Ich habe jetzt einen DLL Viewer gestartet und finde dort aber keine Funktion mit dem Namen RenderPageToStream, sondern nur RenderPageToDC, RenderPageToDCClip, RenderPageToFile und RenderPageToString. Somit muss die Funktion zum Rendern in einen Stream nicht direkt durch die DLL durchgeführt werden. Offenbar muss ich eine Funktion schreiben, die eine andere Funktion der DLL aufruft und dann in einen Stream wandelt. |
AW: Debenu PDF Library
Ich nutze nun die vorhandene Funktion
Delphi-Quellcode:
, um die Seite als Datei temporär zu speichern, um diese dann in einen Stream zu laden.
DebenuPDFLibraryRenderPageToFile
Das geht erst einmal als Workaround. Danke nochmals allen. So konnte ich das Update für ca. 1000 US$ sparen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz