unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    EditWrite: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation
var
  FileName      :String;
  FileHandle    : THandle;
  FileMapHandle : THandle;
  FileSize      : Integer;
  FileData      : PChar;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
  //  1   打开内存文件
  if FileOpen(FileName,FmOpenReadWrite) = Invalid_Handle_Value then
     FileHandle := FileCreate(FileName);  if FileHandle = Invalid_Handle_Value then
     Raise Exception.Create('创建文件错误');  FileSize := GetFileSize(FileHandle,nil);
  //  2   创建文件 内存映射对象 并得到句柄
  FileMapHandle := CreateFileMapping(FileHandle,nil,Page_ReadWrite,0,FileSize,nil);
  //  3
  CloseHandle(FileHandle);
  // 4  建立文件视图映射
  FileData := MapViewOfFile(FileMapHandle,File_Map_Write,0,0,FileSize);
  //5
  CloseHandle(FileMapHandle);
  //6  写内存文件文件));//把内容写入共享内存
  //错误就发生在这里  为什么啊 
  StrCopy(FileData,PChar(EditWrite.Text
end;procedure TForm1.FormCreate(Sender: TObject);
begin
  FileName :='D:\aniu';
end;procedure TForm1.Button3Click(Sender: TObject);
begin
  // 7
  UnMapViewOfFile(FileData);
end;end.多谢大虾指点了  ^_^