Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi PDF Stream -> Reader (Vorschau) (https://www.delphipraxis.net/211668-pdf-stream-reader-vorschau.html)

peterbelow 21. Okt 2022 12:08

AW: PDF Stream -> Reader (Vorschau)
 
Zitat:

Zitat von haentschman (Beitrag 1513585)
Zitat:

Für den User ist es eine "Kopie" zum manuellen Vergleich mit dem nächsten Dokument.
1. Stream auf Oberfläche - ok
2. "Vorschau" extern - beide Dokumente sind gleich
3. Wechsel des Dokumentes - neues Dokument in der Oberfläche
4. Vergleich des externen Dokumentes für "Prüfungszwecke" - beide "Ansichten" enthalten verschiedene Dokumente

...was sich die User so ausdenken. :?

Wenn Du die Disk-Datei über CreateFile erzeugst kannst Du einge Sachen spezifizieren, die TFilestream nicht anbietet, z. B. das extended flag FILE_FLAG_DELETE_ON_CLOSE. Windows löscht die Datei dann, wenn das letzte file handle für die Datei geschlossen wird. Deine Anwendung würde also die Datei mit den notwendigen SHARE flags erzeugen, damit eine externe Anwendung sie öffnen kann (FILE_SHARE_READ or FILE_SHARE_DELETE), das Handle irgendwo bunkern bis die Anwendung geschlossen wird (Datei bleibt offen!) und den Dateipfad per ShellExecute an den externen Viewer übergeben.

himitsu 21. Okt 2022 13:15

AW: PDF Stream -> Reader (Vorschau)
 
Schade, dass es kein TPath.GetTempFileName gibt, welches mit FILE_FLAG_DELETE_ON_CLOSE arbeitet und den Stream+Dateinamen liefert.
ansonsten zumindestens noch TPath.GetTempPath

Zitat:

Zitat von Sinspin (Beitrag 1513539)
Oder eine Komponente zur Anzeige verwenden die LoadFromStream erlaubt.... mir fällt gerade keine ein.

Jupp, DevExpress
oder das von den Indern, die sich auch ab und an mal hier im Lande antreffen lassen (gnostice)
oder im TWebBrowser/TEdgeBrowser
oder direkt PDF.js
oder

haentschman 21. Okt 2022 14:33

AW: PDF Stream -> Reader (Vorschau)
 
8-)

Die Entscheidung ist erstmal gefallen...:P

1. Der Knopf "Vorschau" wird Visible = False
2. Das Event hat das ToDo in Textform (für Vergesslichkeit)
3. Sollte der Bedarf bestehen...mache ich einen eigenen "Vorschauer" mit TForm (kann dann PDF, Text, Images...erweiterbar) :thumb:
4. Ersetzen von ShellExecute(File) durch den "Vorschauer"

...wenn ich Zeit habe...kurz vor der Rente. :stupid:

Danke fürs Gespräch...:wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:50 Uhr.
Seite 2 von 2     12   

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