![]() |
Datei aus MemoryStream öffnen
Hallo,
ich sitze zwar gerade nicht an Delphi, aber mir ist eine Idee gekommen wie ich ein "Problem" lösen bzw. eine Vorgehensweise verschönern könnte. Wäre nett, wenn ihr mir ein bisschen was dazu sagen könntet. Also, ich speicher Dateien (kleine PDFs etc.) in einer lokalen FireBird-DB. Ich habe mich dazu entschieden, da es sich beim Endanwender mit der Zeit um einige Dateien handeln wird, diese User nicht so versiert im Umgang mit PCs sind und daher die Datensicherung leichter ist. Auch, wenn man das Programm auf einen USB-Stick kopiert, hat man alles beisammen. Einfach und kompakt. Nun, wenn die Dateien aus dem Programm heraus geöffnet werden, wird die Datei in ein temp-Verzeichnis extrahiert und mit ShellExecute geöffnet. Funktioniert prima, mich stört aber das Extrahieren in das Temp-Verzeichnis. Meine Frage ist jetzt, ob man Dateien via ShellExecute (oder einem anderen Wege) aus einem MemoryStream laden kann, also das Öffnen ohne die vorherige Extrahierung. Vielen Dank im Voraus |
Re: Datei aus MemoryStream öffnen
Solange du keinen PDF-Reader findest, welcher die Daten auch anders, als nur als Datei entgegennimmt, wird dir nichts anderes übrig bleiben, als die Streams in temporäre Dateien abzuspeichern.
|
Re: Datei aus MemoryStream öffnen
Ok, ich verstehe das Problem. Etwas problematischer wird es noch, da es auch Bilder etc. sein könnten. Gut, dann hat sich das soweit schon erledigt :wink:
Aber die Idee als Solche finde ich irgendwie toll. Wie machen das die Live-Syste wie Knoppix? Da liegen die Dateien doch auch alle im RAM? |
Re: Datei aus MemoryStream öffnen
Die richten AFAIK eine Ramdisk ein, verfügen also dann über ein Dateisystem.
|
Re: Datei aus MemoryStream öffnen
Dort wird ein Teil des RAM wie ein Datenträger verwaltet.
Also wenn du dir ein VirtualDrive einrichtest, dann könntest du die Datei dort reinkopieren/verlinken |
Re: Datei aus MemoryStream öffnen
Hm ja ne... Das wäre ein wenig übertrieben für das kleine Projekt. Außerdem strebt der erzielte Vorteil gegen null. Nunja, aber wieder was gelernt
Vielen Dank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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