AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Memory Mapped Files

Ein Thema von bono_82 · begonnen am 18. Apr 2007 · letzter Beitrag vom 22. Apr 2007
 
bono_82

Registriert seit: 11. Dez 2005
17 Beiträge
 
#1

Problem mit Memory Mapped Files

  Alt 18. Apr 2007, 08:43
Hallo,

ich muss für meine Anwendung mit sehr großen Dateien arbeiten (bis 4GB). Aus diesem Grund lade ich eine große
Datei als Memory Mapped File. Ich hab gelesen, dass das theoretisch bis 4 GB geht, aber man nur 2 GB nutzen kann, da das BS
sich die anderen 2GB reserviert. Mein Problem ist allerdings, dass ich auch schon ab einer 1 GB großen Datei Fehlermeldungen bekomme. Mit kleineren Files (ca. 100 MB) Dateien funktioniert aber prinzipiell alles prima. Hier mal der Code zum Öffnen einer Datei als MMF.
Hat jemand einen Ratschlag?

Delphi-Quellcode:
str:=VisuFilePath+VisuFileName+'.dat';

{Variante mit Memory Mapped Files}
FileHandle := GetHandle(str); //Fkt. um Handle zu erzeugen
if FileHandle = INVALID_HANDLE_VALUE then
   Raise exception.Create('File could not be opened!');
FileSize := GetFileSize(FileHandle,nil);

MapHandle := CreateFileMapping(FileHandle,nil,PAGE_READONLY,0,0,nil);
if MapHandle = 0 then begin
   CloseHandle(FileHandle);
  Raise Exception.Create('Filemapping Error!');
end;

FData := MapViewOfFile(MapHandle,FILE_MAP_READ,0,0,0);

if FData = nil then begin
   CloseHandle(MapHandle);
  Raise Exception.Create('Filemapping Error!');
end;
FData ist der Pointer auf den Beginn des Speicherbereich in dem meine Daten liegen.
Bei meiner 1 GB großen Datei wird für FData allerdings nil zurückgeliefert. Probleme sollten doch aber erst ab ca. 2GB auftreten?

Gruß,
bono
  Mit Zitat antworten Zitat
 


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 07:31 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