![]() |
in anderes Programm einhacken
Moin, ich verwende eine Warenwirtschaft, die in Delphi geschrieben ist. Der Hersteller bekommt es nicht hin, Fastreport 4 gegen Fastreport 5 auszutauschen, obwohl das kein großes Problem ist. Das Problem ist der altbekannte PDF-Export mit Bildern usw. der z.B. auf iOS nicht lesbar ist.
Jetzt habe ich mir überlegt, ob es möglich ist, mich in das Programm reinzuhacken und den Aufruf abzufangen und in meinem eigenen Programm mit FR5 den PDF-Export zu machen. Geht so was grundsätzlich (reinhacken) und wie nennt man das? Würde mich da gerne etwas weiter informieren. |
AW: in anderes Programm einhacken
Zitat:
Du müsstest FR5 in eine DLL packen, dir eventuell ein paar Wrapper bauen, für die Stellen, wo sich die API vom FR geändert hat. Die DLL dann in das Programm einschleißen, "alle" zigtausenden Aufrufe finden und auf dei DLL umleiten, den Speichermanager und vorallem die RTTI haken, denn es ist Klassen eigentlich "unmöglich" über DLL-Grenzen hinweg benutzt zu werden und ... Wenn du den Quellcode hättest, dann wäre es ganz einfach. Und wenn das Programm gegen die FR-BPLs gelinkt wurde, dann ginge es auch ... du brauchst dann nur die gleiche Delphi-Version, schleußt die neuen BPLs ein und mußt nur die Verlinkungen zu den alten FR-BPLs auf die Neuen umleiten (geht aber nur, wenn sich beide Versionen gleichzeitig in einem Programm nutzen lassen), ansonsten müsste man wohl die FR4-BPLs nachbauen, mit genau den selben Schnittstellen und intern FR5 verstecken. Fazit: nö ![]() ![]() |
AW: in anderes Programm einhacken
Vielleicht kannst du einen anderen Weg gehen, die PDF nach dem Erstellen wieder lesbar zu machen?
Vielleicht kann das ImageMagick (einfach mal durch das convert jagen)? Ich weiß nur, das ImageMagick PDFs lesen und konvertieren kann, nicht ob es auch welche erstellt. Wenn dabei am Ende KEIN PDF rauskommt, oder keines dass unter iOS lesbar ist, dann gäbe es noch einen hässlichen Hack: Benutze ImageMagick um ein png je Seite zu erzeugen. Dann nimmst du z.B. LaTeX und compilierst dir aus den einzelnen pngs ein PDF. Das fertige PDF ist natürlich größer als das Original und der Text ist nicht mehr markierbar usw., aber immerhin wäre es dann lesbar unter iOS :) . Ansonsten: Woher stammen denn die Daten in dem Programm? Kommen die vielleicht aus einer Datenbank, die du selber auslesen könntest? |
AW: in anderes Programm einhacken
Vergiss den Hacking-Ansatz. Ist zu Aufwändig.
Ich vermute mal das euer Problem beim Hersteller nur nicht die Priorität hat um das zu Fixen. Wenn ihr wollt das das gefixt wird werded ihr vermutlich Wohl oder übel über die kommerzielle Schiene gehen müssen wenn es sonst nicht geht: Also offizielle schriftliche Mängelrüge mit Setzen einer Frist bis zur Behebung. Einstellung von Wartungs/Lizenzzahlungen etc und Aufmachen einer Gegenrechnung das durch die Fehler der SW Kosten entstanden sind. Aber bedenkt. Das kann auch nach hinten los gehen indem der Hersteller sagt: Ok. Dann wollen wir euch nicht mehr als Kunden und ihre dann (wenn es ganz schlecht läuft) einen neuen Hersteller suchen müsst. |
AW: in anderes Programm einhacken
Zitat:
Es ist ein Feature was der Kunde gerne hätte aber in der Software nicht enthalten ist. Das berechtigt den Kunden nicht seine Zahlungen einzustellen oder sogar eine Gegenrechnung aufzumachen. :roll: |
AW: in anderes Programm einhacken
Zitat:
Das Beworbene Feature "Wir können PDFs erstellen" ist Fehlerhaft. Man müsste sicherlich über PDF-Validatoren nachweisen das diese PDF fehlerhaft sind. Nur das sie im Adobe Acrobat gehen heißt ja noch langen nicht das sie korrekt sind. |
AW: in anderes Programm einhacken
Zitat:
Gerade Reportgeneratoren, Drucker und Druckertreiber im Zusammenspiel mit der GDI und den Treibern der Grafikkarte sind ein ganz sensibles Thema. Kommen dann noch verschiedene Plattformen hinzu, wirds richtig spannend. So ein Warenwirtschaftssystem hat sicher hunderte von verschiedenen Druckformularen, auch wenn du nur ein Bruchteil tatsächlich verwendest. Ob die Dateien fehlerhaft sind, ist nicht bewiesen. Das ein bestimmtes Betriebssystem nicht von Haus aus alle PDF-Formate unterstützt ist kein Mangel, den man dem Programm anlasten kann. Es sei den, der Hersteller hat genau für diese Umgebung zugesichert, dass dieses Feature nutzbar ist. Benötigst wird doch eigentlich nur ein Programm, dass nach jedem PDF-Export das Format der Datei korrigiert. Dazu könnte man mit dem Hersteller eine Schnittstelle vereinbaren. Das Warenwirtschaftsprogramm soll nach jedem PDF-Export eine Batch-Datei aufrufen und den Namen der PDF-Datei als Parameter übergeben. Darin wird dann das Konvertierungsprogramm aufgerufen und gut. |
AW: in anderes Programm einhacken
@himitsu: ich glaube das hacking in dieser Form wäre dann doch zu aufwändig.
Hab ich vergessen zu erwähnen! :( Die Reports liegen alle in einer MS-SQL, auf die man auch zugreifen könnte. Ich müsste nur abgreifen, welcher Report aufgerufen wird (Name in DB) und z.B. die Angebotsnummer / Auftragsnummer usw., muss mir das noch mal genauer ansehen, wie das genau in der DB abgelegt ist. Zitat:
Die bisherige Software ist grundsätzlich in Ordnung, wenn da nicht immer diese "Kleinigkeiten" wären, die einem in der täglichen Arbeit, das leben schwer machen. Zitat:
|
AW: in anderes Programm einhacken
Zitat:
Ich habe das selbst schon in einer eigenen Anwendung gemacht und musste an den Reports nichts ändern. |
AW: in anderes Programm einhacken
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:36 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