Hallo alzaimar,
Zitat von
alzaimar:
Mir ist klar, das 'DynamicArray' ein Pointer ist und nur Schrott in der Datei stünde oder vielleicht sogar eine
AV käme, aber wenigstens sollte sie 1MB groß sein, wenn keine
AV kommt. Aber es wird wirklich gar nichts geschrieben.
Meine Vermutung: die Systemroutinen von Windows verweigern das Schreiben, weil der zu schreibende Speicherbereich der Applikation nicht vollständig gehört.
Versuche folgendes:
Delphi-Quellcode:
var
GlobalVar : array of Integer;
Dummy : array [1..1024 * 1024] of Byte;
procedure TForm1.Button1Click;
var
S : TFileStream;
begin
Dummy[1] := 0; // damit Dummy nicht wegoptimiert wird...
S := TFileStream.Create('C:\temp\test.stm', fmCreate);
S.Write (GlobalVar, 1024 * 1024);
S.Free;
end;
Gruß Hawkeye