sendunit.pas
上传用户:psxgmh
上传日期:2013-04-08
资源大小:15112k
文件大小:1k
源码类别:

Delphi/CppBuilder

开发平台:

Delphi

  1. unit sendunit;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls, Buttons;
  6. type
  7.   TForm1 = class(TForm)
  8.     Edit1: TEdit;
  9.     Label1: TLabel;
  10.     BitBtn1: TBitBtn;
  11.     procedure BitBtn1Click(Sender: TObject);
  12.     procedure FormCreate(Sender: TObject);
  13.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  14.   private
  15.     { Private declarations }
  16.   public
  17.     procedure SendData;
  18.     { Public declarations }
  19.   end;
  20. var
  21.   Form1: TForm1;
  22.   MapFilehWnd: THandle;
  23.   MapFilePointer: Pointer;
  24. implementation
  25. {$R *.dfm}
  26. procedure TForm1.SendData; //发送消息和数据过程
  27. begin
  28.  MapFilehWnd := CreateFileMapping ($FFFFFFFF,nil,page_ReadWrite, 0,10000,'MapFileDemo');
  29.  if MapFilehWnd  <> 0 then
  30.   begin
  31.    MapFilePointer := MapViewOfFile (MapFilehWnd ,FILE_MAP_ALL_ACCESS,0, 0, 0);
  32.    StrCopy(PChar(MapFilePointer),PChar (Edit1.Text));
  33.   end;  
  34. end;
  35. procedure TForm1.BitBtn1Click(Sender: TObject);
  36. begin
  37.  if Edit1.Text<>'' then
  38.   SendData;
  39. end;
  40. procedure TForm1.FormCreate(Sender: TObject);
  41. begin
  42.  MapFilehWnd:=0;
  43.  MapFilePointer:=Nil;
  44. end;
  45. procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  46. begin
  47.  if MapFilePointer<>Nil then
  48.   begin
  49.    UnmapViewOfFile(MapFilePointer);
  50.    CloseHandle(MapFilehWnd);
  51.   end; 
  52. end;
  53. end.