AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi in anderes Programm einhacken
Thema durchsuchen
Ansicht
Themen-Optionen

in anderes Programm einhacken

Ein Thema von SvB · begonnen am 19. Mär 2015 · letzter Beitrag vom 19. Mär 2015
Antwort Antwort
Seite 1 von 2  1 2      
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

in anderes Programm einhacken

  Alt 19. Mär 2015, 08:40
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.
Sven

Alle sagen, das geht nicht. Da kam einer, der wusste das nicht und hat es gemacht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.077 Beiträge
 
Delphi 12 Athens
 
#2

AW: in anderes Programm einhacken

  Alt 19. Mär 2015, 09:00
Zitat:
Geht so was grundsätzlich
Joar... ginge schon.

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ö

Bei Google suchenHook Hier im Forum suchenHook
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
recall

Registriert seit: 21. Dez 2004
Ort: Hannover
9 Beiträge
 
Delphi XE5 Professional
 
#3

AW: in anderes Programm einhacken

  Alt 19. Mär 2015, 09:21
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?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: in anderes Programm einhacken

  Alt 19. Mär 2015, 09:22
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: in anderes Programm einhacken

  Alt 19. Mär 2015, 09:26
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.
Also das finde ich etwas heftig. Es ist ja kein Fehler Fastreport 4 statt Fastreport 5 implementiert zu haben.
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.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: in anderes Programm einhacken

  Alt 19. Mär 2015, 09:52
Also das finde ich etwas heftig. Es ist ja kein Fehler Fastreport 4 statt Fastreport 5 implementiert zu haben.
Der Fehler ist das fehlerhafte PDFs erstellt werden. Ob das nun mit FR4/5 erstellt wurden ist egal.
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.465 Beiträge
 
Delphi 12 Athens
 
#7

AW: in anderes Programm einhacken

  Alt 19. Mär 2015, 10:02
Zitat:
Der Hersteller bekommt es nicht hin, Fastreport 4 gegen Fastreport 5 auszutauschen, obwohl das kein großes Problem ist.
Wie kannst du das beurteilen?
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.
  Mit Zitat antworten Zitat
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#8

AW: in anderes Programm einhacken

  Alt 19. Mär 2015, 10:03
@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.

Ich vermute mal das euer Problem beim Hersteller nur nicht die Priorität hat um das zu Fixen.
--> Alles schon probiert, der Hersteller ist schon seit längerem dabei, die Software auf .Net neu zu programmieren. Letztes Jahr so um diese Zeit hab ich eine Beta gesehen und gegenüber dem, was ich gestern auf der CeBit gesehen habe, hat sich immer noch nicht viel mehr getan, also immer noch Beta. Das kann also noch ein bis zwei Jahre dauern, bis die neue Software richtig zu benutzen ist.
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.

Nur das sie im Adobe Acrobat gehen heißt ja noch langen nicht das sie korrekt sind.
Es ist ja bekannt, dass FR4 nicht PDF/A konform exportiert, im FR5 ist das ja behoben. Das Problem ist, das im Zeitalter der Mobilität immer mehr Kunden z.B. Angebot auf dem Smartphone lesen und da wird es nicht richtig angezeigt und das macht einfach einen schlechten Eindruck. Der Kunde denkt, wir sind zu doof lesbare PDFs zu erstellen.
Sven

Alle sagen, das geht nicht. Da kam einer, der wusste das nicht und hat es gemacht.
  Mit Zitat antworten Zitat
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#9

AW: in anderes Programm einhacken

  Alt 19. Mär 2015, 10:08
Wie kannst du das beurteilen?
Wie ich vorhin noch mal korrigiert habe, liegen die Reports alle in der DB. Es müsste dann nur die FR4 durch die FR5 ausgetauscht werden, dann sollte trotzdem die Reports funktionieren.
Ich habe das selbst schon in einer eigenen Anwendung gemacht und musste an den Reports nichts ändern.
Sven

Alle sagen, das geht nicht. Da kam einer, der wusste das nicht und hat es gemacht.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: in anderes Programm einhacken

  Alt 19. Mär 2015, 10:21
Ich vermute mal das euer Problem beim Hersteller nur nicht die Priorität hat um das zu Fixen.
--> Alles schon probiert, der Hersteller ist schon seit längerem dabei, die Software auf .Net neu zu programmieren. Letztes Jahr so um diese Zeit hab ich eine Beta gesehen und gegenüber dem, was ich gestern auf der CeBit gesehen habe, hat sich immer noch nicht viel mehr getan, also immer noch Beta. Das kann also noch ein bis zwei Jahre dauern, bis die neue Software richtig zu benutzen ist.
Wir hatten auch mal eine (primär CRM) SW die der Hersteller in .NET neu Entwickelt hat. Wir haben ihn aber rausgeschmissen denn die Wahrscheinlichkeit war sehr groß das der gleiche Programmiermüll in .NET nochmal gemacht wird den sie in Access-VBA gemacht hatten.

Es ist ja bekannt, dass FR4 nicht PDF/A konform exportiert, im FR5 ist das ja behoben.
Das ist nicht dein Problem. Du hast ein SW gekauft die PDFs erstellen kann, du hast kein FR-Implementierung zur PDF-Erstellung gekauft. Und wenn (die tausend verfügbaren) PDF-Validatoren sagen das die PDFs Müll sind, dann hat der Hersteller ein Problem damit das fixen zu müssen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz