Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by marabu,
20. Jan 2006
Wenn du jetzt alle deine Anforderungen offen gelegt hast, dann frage ich mich warum du die Datei überhaupt erst im Dateisystem ablegen willst. Wenn nur deine Anwendung Zugriff haben soll, dann kannst du sie doch einfach in einen TMemoryStream schreiben und diesen so verwenden, als ob es eine Datei auf der Festplatte sei.
marabu
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by marabu,
20. Jan 2006
Ich frage halt nochmal nach: wie groß ist die Datei? Welchen Typ Daten enthält sie - Text, binär, strukturiert? Wie wird sie erstellt? Willst du die Datei nur vor fremden Zugriff schützen, während dein Programm läuft? Was ist mit der Datei, wenn dein Programm beendet wird?
Warum das ganze? Wenn du die richtigen Antworten auf diese Fragen gibst, dann gibt es vielleicht einen völlig anderen...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by marabu,
19. Jan 2006
Deine Anforderung wird vielleicht besser über Berechtigungen (Benutzerrechte) abgedeckt. Vielleicht gibt es noch eine andere Lösung. Um was für einen Dateityp handelt es sich denn? Und warum das Ganze?
marabu
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by marabu,
19. Jan 2006
Nein, dann ist mein erster Code der richtige. Allerdings musst du den Zeitpunkt für das Create und das Free des FileStream geschickt legen - vielleicht Create in den event handler für OnCreate deiner MainForm und das Free in den event handler für OnDestroy.
marabu
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by marabu,
19. Jan 2006
Das musst du wohl etwas genauer erklären. Du willst den share mode für eine geöffnete Datei nachträglich ändern und die Zugriffsperre soll erhalten bleiben, auch wenn dein Programm seinen Zugriff beendet? Das erste erreichst du über ReopenFile(), das zweite ist etwas schwieriger. Aber vielleicht habe ich dich ja auch völlig falsch verstanden.
marabu
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by marabu,
19. Jan 2006
Hi,
und außerdem musst du etwas mehr auf die Syntax achten:
var
fs: TFileStream;
begin
fs := TFileStream.Create(FileName, fmOpenRead, fmShareExclusive);
// ...