AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi nicht exklusiver Zugriff mit CreateFile erwünscht
Thema durchsuchen
Ansicht
Themen-Optionen

nicht exklusiver Zugriff mit CreateFile erwünscht

Ein Thema von VizeTE · begonnen am 25. Jun 2009 · letzter Beitrag vom 29. Jun 2009
Antwort Antwort
VizeTE

Registriert seit: 31. Dez 2002
178 Beiträge
 
Delphi 5 Enterprise
 
#1

Re: nicht exklusiver Zugriff mit CreateFile erwünscht

  Alt 29. Jun 2009, 10:24
Zitat von Fridolin Walther:
Dein Filestream muss die Datei ebenfalls mit FILE_SHARE_DELETE öffnen
Das ist ein guter Tipp. Ich hatte mich auf die Doku von Delphi beschränkt, aber auch da hätte man das rauslesen können.
Nunja...damit bin ich in Stück weiter gekommen aber leider auch noch nicht am Ziel.

Ich habe einfach als Basis einen THandleStream verwendet und dann ein eigenes Create (ab)geschrieben.
Dabei habe ich bisher nur das öffnen einer bestehenden Datei geändert um zunächst testen zu können.
Jetzt bekomme ich keine Fehlermeldung mehr aber der Inhalt ist einfach Schrott.
(die Dateigröße bleibt gleich, der Inhalt sieht aber wie Speichermüll aus)
Sieht jemand meinen Fehler? ich habe Tomaten auf den Augen.

Delphi-Quellcode:
constructor TMyFileStream.Create(const FileName: string; Mode: Word);
var
  hFile : integer;
begin
  if Mode = fmCreate then
  begin
    hFile := FileCreate(FileName);
    if hFile < 0 then
      raise EFCreateError.CreateResFmt(@SFCreateError, [FileName]);
  end else
  begin
    hFile := integer(CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE,
             FILE_SHARE_DELETE or FILE_SHARE_WRITE or FILE_SHARE_READ, nil, OPEN_EXISTING,
             FILE_ATTRIBUTE_NORMAL, 0));
    if hFile < 0 then
      raise EFOpenError.CreateResFmt(@SFOpenError, [FileName]);
  end;

  inherited Create(hFile);
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:08 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 by Thomas Breitkreuz