| 订阅 | 在线投稿
分享
 
 
 

映射文件的使用

来源:互联网网民  宽屏版  评论
2006-09-16 05:50:27

在WIN32种,通过使用映像文件在进程间实现共享文件或内存共享,如果利用相同的映像名字或文件句柄,则不同的进程可以通过一个指针来读写同一个文件或者同一内存数据块,并把他们当成该进程内存空间的一部分。

内存映像文件可以映射一个文件、一个文件中的指定区域或者指定的内存块,其中的数据就可以用内存读取指令来直接访问,而不用频繁的使用操作文件的I/O系统函数,从而提高文件的存取速度和效率。

映像文件的另一个重要作用就是用来支持永久命名的共享内存。要在两个应用程序之间共享内存,可以在一个应用程序中创建一个文件并映射,然后另外一个程序通过打开和映射此文件,并把它当作自己进程的内存来使用。事实上,此内存是所有进程共享的。

下面将先描述一下几个操作内存的API函数

1、创建内存映射的API函数

映射文件的使用
This function creates a named or unnamed file-mapping object for the specified file.
映射文件的使用

映射文件的使用
HANDLE CreateFileMapping(
映射文件的使用
//通过调用fileopen or FileCreate后返回的文件句柄,如果是内存,则//$FFFFFFFF
映射文件的使用
HANDLE hFile,
映射文件的使用
//安全性结构,一般null
映射文件的使用
LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
映射文件的使用
//文件试图的保护类型,PAGE_READONLY,PAGE_READWRITE,
映射文件的使用
DWORD flProtect,
映射文件的使用
//文件大小的高32位,一般设置为0,除非文件大于4G
映射文件的使用
DWORD dwMaximumSizeHigh,
映射文件的使用
//文件大小低32位
映射文件的使用
DWORD dwMaximumSizeLow,
映射文件的使用
//映射的名字
映射文件的使用
LPCTSTR lpName
映射文件的使用
);
映射文件的使用

2、打开一个映射文件

映射文件的使用
HANDLE OpenFileMapping(
映射文件的使用
//访问数据模式:FILE_MAP_ALL_ACCESS,FILE_MAP_COPY,FILE_MAP_READ, //FILE_MAP_WRITE
映射文件的使用
DWORD dwDesiredAccess,
映射文件的使用
//子进程是否可以继承
映射文件的使用
BOOL bInheritHandle,
映射文件的使用
//映射文件名
映射文件的使用
LPCTSTR lpName
映射文件的使用
);

3、将映射文件映射到本进程的API函数

映射文件的使用
LPVOID MapViewOfFile(
映射文件的使用
//通过CreateFileMapping或OpenFileMapping返回的文件句柄
映射文件的使用
HANDLE hFileMappingObject,
映射文件的使用
//访问的数据模式:FILE_MAP_WRITE,FILE_MAP_READ,FILE_MAP_ALL_ACCESS
映射文件的使用
DWORD dwDesiredAccess,
映射文件的使用
//指定数据在映射文件中起始位置的高32位
映射文件的使用
DWORD dwFileOffsetHigh,
映射文件的使用
//低32位
映射文件的使用
DWORD dwFileOffsetLow,
映射文件的使用
//需要映射的大小,0表示全部
映射文件的使用
DWORD dwNumberOfBytesToMap
映射文件的使用
);

4、关闭映射的api函数

映射文件的使用
BOOL UnmapViewOfFile(
映射文件的使用
//由MapViewofFile产生的映射文件的地址
映射文件的使用
LPCVOID lpBaseAddress
映射文件的使用
);

5、下面例子中还会用到的几个api函数

映射文件的使用
创建互斥对象
映射文件的使用
HANDLE WINAPI CreateMutex(
映射文件的使用
LPSECURITY_ATTRIBUTES lpMutexAttributes,
映射文件的使用
BOOL bInitialOwner,
映射文件的使用
LPCTSTR lpName
映射文件的使用
);
映射文件的使用

映射文件的使用
DWORD WaitForSingleObject(
映射文件的使用
HANDLE hHandle,
映射文件的使用
DWORD dwMilliseconds
映射文件的使用
);
映射文件的使用

上文中曾经提到我们使用内存映射的方式来在多个程序或DLL中共享数据。下面就通过一个程序来介绍。

虽然我要描述的是再两个应用程序之间共享数据,不过为了省事,我将所有的内容都写在一个程序中,你只需要把此程序打开两次就可以了。一个程序用来建立内存映射文件,另外一个程序用来打开内存映射文件。并通过对公共内存的读写操作来演示信息共享。

程序的窗体单元代码如下:

映射文件的使用
object Form1: TForm1
映射文件的使用
Left = 236
映射文件的使用
Top = 147
映射文件的使用
Width = 327
映射文件的使用
Height = 412
映射文件的使用
Caption = 'MyMapForm_1'
映射文件的使用
Color = clBtnFace
映射文件的使用
Font.Charset = ANSI_CHARSET
映射文件的使用
Font.Color = clWindowText
映射文件的使用
Font.Height = -13
映射文件的使用
Font.Name = '宋体'
映射文件的使用
Font.Style = []
映射文件的使用
OldCreateOrder = False
映射文件的使用
OnClose = FormClose
映射文件的使用
OnCreate = FormCreate
映射文件的使用
PixelsPerInch = 96
映射文件的使用
TextHeight = 13
映射文件的使用
object GroupBox1: TGroupBox
映射文件的使用
Left = 0
映射文件的使用
Top = 0
映射文件的使用
Width = 319
映射文件的使用
Height = 121
映射文件的使用
Align = alTop
映射文件的使用
Caption = '共享内存的信息[发送]'
映射文件的使用
TabOrder = 0
映射文件的使用
object Label1: TLabel
映射文件的使用
Left = 16
映射文件的使用
Top = 24
映射文件的使用
Width = 26
映射文件的使用
Height = 13
映射文件的使用
Caption = '数据'
映射文件的使用
end
映射文件的使用
object Label2: TLabel
映射文件的使用
Left = 16
映射文件的使用
Top = 48
映射文件的使用
Width = 39
映射文件的使用
Height = 13
映射文件的使用
Caption = '修改者'
映射文件的使用
end
映射文件的使用
object Label3: TLabel
映射文件的使用
Left = 16
映射文件的使用
Top = 80
映射文件的使用
Width = 52
映射文件的使用
Height = 13
映射文件的使用
Caption = '修改时间'
映射文件的使用
end
映射文件的使用
object edData: TEdit
映射文件的使用
Left = 75
映射文件的使用
Top = 21
映射文件的使用
Width = 230
映射文件的使用
Height = 21
映射文件的使用
TabOrder = 0
映射文件的使用
end
映射文件的使用
object edModifyUser: TEdit
映射文件的使用
Left = 74
映射文件的使用
Top = 49
映射文件的使用
Width = 231
映射文件的使用
Height = 21
映射文件的使用
TabOrder = 1
映射文件的使用
end
映射文件的使用
object edModifyTime: TEdit
映射文件的使用
Left = 74
映射文件的使用
Top = 73
映射文件的使用
Width = 231
映射文件的使用
Height = 21
映射文件的使用
Enabled = False
映射文件的使用
TabOrder = 2
映射文件的使用
end
映射文件的使用
end
映射文件的使用
object Panel1: TPanel
映射文件的使用
Left = 0
映射文件的使用
Top = 242
映射文件的使用
Width = 319
映射文件的使用
Height = 121
映射文件的使用
Align = alClient
映射文件的使用
BevelOuter = bvNone
映射文件的使用
TabOrder = 1
映射文件的使用
object btnCreate: TButton
映射文件的使用
Left = 32
映射文件的使用
Top = 8
映射文件的使用
Width = 113
映射文件的使用
Height = 25
映射文件的使用
Caption = '新建内存映射'
映射文件的使用
TabOrder = 0
映射文件的使用
OnClick = btnCreateClick
映射文件的使用
end
映射文件的使用
object btnOpen: TButton
映射文件的使用
Left = 160
映射文件的使用
Top = 8
映射文件的使用
Width = 113
映射文件的使用
Height = 25
映射文件的使用
Caption = '打开已存在映射'
映射文件的使用
TabOrder = 1
映射文件的使用
OnClick = btnOpenClick
映射文件的使用
end
映射文件的使用
object btnRead: TButton
映射文件的使用
Left = 160
映射文件的使用
Top = 45
映射文件的使用
Width = 113
映射文件的使用
Height = 25
映射文件的使用
Caption = '读取映射信息'
映射文件的使用
TabOrder = 2
映射文件的使用
OnClick = btnReadClick
映射文件的使用
end
映射文件的使用
object btnSet: TButton
映射文件的使用
Left = 32
映射文件的使用
Top = 45
映射文件的使用
Width = 113
映射文件的使用
Height = 25
映射文件的使用
Caption = '设置内存信息'
映射文件的使用
TabOrder = 3
映射文件的使用
OnClick = btnSetClick
映射文件的使用
end
映射文件的使用
object btnClose: TButton
映射文件的使用
Left = 32
映射文件的使用
Top = 85
映射文件的使用
Width = 113
映射文件的使用
Height = 25
映射文件的使用
Caption = '关闭映射'
映射文件的使用
TabOrder = 4
映射文件的使用
OnClick = btnCloseClick
映射文件的使用
end
映射文件的使用
object btnClear: TButton
映射文件的使用
Left = 160
映射文件的使用
Top = 85
映射文件的使用
Width = 113
映射文件的使用
Height = 25
映射文件的使用
Caption = '清空编辑狂'
映射文件的使用
TabOrder = 5
映射文件的使用
OnClick = btnClearClick
映射文件的使用
end
映射文件的使用
end
映射文件的使用
object StatusBar1: TStatusBar
映射文件的使用
Left = 0
映射文件的使用
Top = 363
映射文件的使用
Width = 319
映射文件的使用
Height = 19
映射文件的使用
Panels = <
映射文件的使用
item
映射文件的使用
Width = 200
映射文件的使用
end>
映射文件的使用
end
映射文件的使用
object GroupBox2: TGroupBox
映射文件的使用
Left = 0
映射文件的使用
Top = 121
映射文件的使用
Width = 319
映射文件的使用
Height = 121
映射文件的使用
Align = alTop
映射文件的使用
Caption = '共享内存的信息[接收]'
映射文件的使用
Enabled = False
映射文件的使用
TabOrder = 3
映射文件的使用
object Label4: TLabel
映射文件的使用
Left = 16
映射文件的使用
Top = 24
映射文件的使用
Width = 26
映射文件的使用
Height = 13
映射文件的使用
Caption = '数据'
映射文件的使用
end
映射文件的使用
object Label5: TLabel
映射文件的使用
Left = 16
映射文件的使用
Top = 48
映射文件的使用
Width = 39
映射文件的使用
Height = 13
映射文件的使用
Caption = '修改者'
映射文件的使用
end
映射文件的使用
object Label6: TLabel
映射文件的使用
Left = 16
映射文件的使用
Top = 80
映射文件的使用
Width = 52
映射文件的使用
Height = 13
映射文件的使用
Caption = '修改时间'
映射文件的使用
end
映射文件的使用
object edRData: TEdit
映射文件的使用
Left = 75
映射文件的使用
Top = 21
映射文件的使用
Width = 230
映射文件的使用
Height = 21
映射文件的使用
TabOrder = 0
映射文件的使用
end
映射文件的使用
object edRUser: TEdit
映射文件的使用
Left = 74
映射文件的使用
Top = 49
映射文件的使用
Width = 231
映射文件的使用
Height = 21
映射文件的使用
TabOrder = 1
映射文件的使用
end
映射文件的使用
object edRTime: TEdit
映射文件的使用
Left = 74
映射文件的使用
Top = 73
映射文件的使用
Width = 231
映射文件的使用
Height = 21
映射文件的使用
Enabled = False
映射文件的使用
TabOrder = 2
映射文件的使用
end
映射文件的使用
end
映射文件的使用
end

程序的代码主要分为两部分,comm.pas单元中定义几个对操作内存映射的函数,以及共享内存的结构信息。代码如下:

映射文件的使用
映射文件的使用
...{
映射文件的使用
作者: wudi_1982
映射文件的使用
联系方式: wudi_1982@hotmail.com
映射文件的使用
开发工具以及平台:DELPHI7+WINXP
映射文件的使用
转载请注明出处
映射文件的使用
}
映射文件的使用
unit comm;
映射文件的使用

映射文件的使用
interface
映射文件的使用

映射文件的使用
uses
映射文件的使用
Windows,SysUtils;
映射文件的使用

映射文件的使用
const
映射文件的使用
FILEMAPPINGNAME = 'MyFileMapping'; // 指定内存映射的名字
映射文件的使用
MUTEXNAME= 'MutexName'; //互斥对象的名字
映射文件的使用

映射文件的使用
type
映射文件的使用
TShareMem = record //共享内存的结构信息
映射文件的使用
Data : array[0..255] of char; //描述共享数据信息
映射文件的使用
ModifyUser : array[0..255] of char; //对数据的修改者
映射文件的使用
ModifyTime : array[0..7] of char; //数据最近一次的修改时间
映射文件的使用
end;
映射文件的使用

映射文件的使用
PShareMem = ^TShareMem;
映射文件的使用

映射文件的使用
var
映射文件的使用
FileMapHandle : THandle; //建立映射的句柄
映射文件的使用
MutexHandle : THandle; // 互斥对象的句柄
映射文件的使用
ShareMem : PShareMem; //一个指向共享内存的指针
映射文件的使用

映射文件的使用
function OpenMap:THandle; //打开一个映射文件并映射到本进程中
映射文件的使用
function CreateMap:THandle; //新建一个映射文件并映射到本进程中
映射文件的使用
function LockMap:boolean; //加锁
映射文件的使用
procedure UnLockMap; //解锁
映射文件的使用
procedure CloseMap; //关闭映射
映射文件的使用
function ReadCommData:TShareMem; //从共享信息中读取数据
映射文件的使用
procedure WriteCommData(data,user,time : string);//对共享内存进行写操作
映射文件的使用

映射文件的使用

映射文件的使用
implementation
映射文件的使用

映射文件的使用

映射文件的使用
function OpenMap:THandle;
映射文件的使用
begin
映射文件的使用
//打开映射文件
映射文件的使用
FileMapHandle := OpenFileMapping(FILE_MAP_ALL_ACCESS, //所有权限
映射文件的使用
false, //子进程不可继承
映射文件的使用
FILEMAPPINGNAME
映射文件的使用
);
映射文件的使用
if FileMapHandle <> 0 then //如果映射文件打开成功
映射文件的使用
begin
映射文件的使用
//将映射文件映射到本进程
映射文件的使用
ShareMem := pSharemem(MapViewOfFile(FileMapHandle,FILE_MAP_ALL_ACCESS,0,0,0));
映射文件的使用
if ShareMem = nil then
映射文件的使用
begin
映射文件的使用
CloseHandle(FileMapHandle);
映射文件的使用
Result := 0;
映射文件的使用
end else begin
映射文件的使用
//初始化共享区域
映射文件的使用
FillChar(ShareMem^,sizeof(TSharemem),0);
映射文件的使用
Result := FileMapHandle;
映射文件的使用
end;
映射文件的使用
end else Result := 0;
映射文件的使用
end;
映射文件的使用

映射文件的使用
function CreateMap:THandle;
映射文件的使用
begin
映射文件的使用
FileMapHandle := CreateFileMapping($FFFFFFFF,//内存映射
映射文件的使用
nil,
映射文件的使用
PAGE_READWRITE,//读写操作
映射文件的使用
0,//高32位 ,一般为0,除非要映射的文件大于4G
映射文件的使用
sizeof(TShareMem),
映射文件的使用
FILEMAPPINGNAME
映射文件的使用
);
映射文件的使用
if FileMapHandle <> 0 then
映射文件的使用
begin
映射文件的使用
ShareMem := pSharemem(MapViewOfFile(FileMapHandle,FILE_MAP_ALL_ACCESS,0,0,0));
映射文件的使用
if ShareMem = nil then
映射文件的使用
begin
映射文件的使用
CloseHandle(FileMapHandle);
映射文件的使用
Result := 0;
映射文件的使用
end else Result := FileMapHandle;
映射文件的使用
end else Result := 0;
映射文件的使用
end;
映射文件的使用

映射文件的使用
function LockMap:boolean;
映射文件的使用
begin
映射文件的使用
//创建一个互斥对象并加锁
映射文件的使用
MutexHandle := CreateMutex(nil,false,MUTEXNAME);
映射文件的使用
if MutexHandle <> 0 then
映射文件的使用
begin
映射文件的使用
if WaitForSingleObject(MutexHandle,1000)= WAIT_FAILED then Result := false
映射文件的使用
else Result := true;
映射文件的使用
end else Result := false;
映射文件的使用
end;
映射文件的使用

映射文件的使用
procedure UnLockMap;
映射文件的使用
begin
映射文件的使用
//释放资源
映射文件的使用
if MutexHandle <> 0 then
映射文件的使用
begin
映射文件的使用
ReleaseMutex(MutexHandle);
映射文件的使用
CloseHandle(MutexHandle);
映射文件的使用
end;
映射文件的使用
end;
映射文件的使用

映射文件的使用
procedure CloseMap;
映射文件的使用
begin
映射文件的使用
// 关闭映射并释放资源
映射文件的使用
if ShareMem <> nil then UnmapViewOfFile(ShareMem);
映射文件的使用
if FileMapHandle <> 0 then CloseHandle(FileMapHandle);
映射文件的使用
end;
映射文件的使用

映射文件的使用
function ReadCommData:TShareMem;
映射文件的使用
var
映射文件的使用
tm : TShareMem;
映射文件的使用
begin
映射文件的使用
with tm do
映射文件的使用
begin
映射文件的使用
Data := ShareMem^.Data;
映射文件的使用
ModifyUser := ShareMem^.ModifyUser;
映射文件的使用
ModifyTime := ShareMem^.ModifyTime;
映射文件的使用
end;
映射文件的使用
Result := tm;
映射文件的使用
end;
映射文件的使用

映射文件的使用
procedure WriteCommData(data,user,time : string);
映射文件的使用
begin
映射文件的使用
StrCopy(ShareMem^.Data,pchar(data));
映射文件的使用
StrCopy(ShareMem^.ModifyUser,pchar(user));
映射文件的使用
StrCopy(ShareMem^.ModifyTime,pchar(time));
映射文件的使用
end;
映射文件的使用

映射文件的使用
end.

代码的另一个部分就是根据需要调用这些函数的FirstTest.pas,即上面窗体单元对应的代码

映射文件的使用
映射文件的使用
...{
映射文件的使用
作者: wudi_1982
映射文件的使用
联系方式: wudi_1982@hotmail.com
映射文件的使用
开发工具以及平台:DELPHI7+WINXP
映射文件的使用
转载请注明出处
映射文件的使用
}
映射文件的使用
unit FirstTest;
映射文件的使用

映射文件的使用
interface
映射文件的使用

映射文件的使用
uses
映射文件的使用
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
映射文件的使用
Dialogs, StdCtrls, ComCtrls, ExtCtrls;
映射文件的使用

映射文件的使用
const
映射文件的使用
WM_MYMESSAGE=WM_USER+1024; //一个自定义消息,用来通知接受程序数据到达
映射文件的使用

映射文件的使用
type
映射文件的使用
TForm1 = class(TForm)
映射文件的使用
GroupBox1: TGroupBox;
映射文件的使用
Label1: TLabel;
映射文件的使用
Label2: TLabel;
映射文件的使用
Label3: TLabel;
映射文件的使用
edData: TEdit;
映射文件的使用
edModifyUser: TEdit;
映射文件的使用
edModifyTime: TEdit;
映射文件的使用
Panel1: TPanel;
映射文件的使用
btnCreate: TButton;
映射文件的使用
btnOpen: TButton;
映射文件的使用
btnRead: TButton;
映射文件的使用
btnSet: TButton;
映射文件的使用
btnClose: TButton;
映射文件的使用
btnClear: TButton;
映射文件的使用
StatusBar1: TStatusBar;
映射文件的使用
GroupBox2: TGroupBox;
映射文件的使用
Label4: TLabel;
映射文件的使用
Label5: TLabel;
映射文件的使用
Label6: TLabel;
映射文件的使用
edRData: TEdit;
映射文件的使用
edRUser: TEdit;
映射文件的使用
edRTime: TEdit;
映射文件的使用
procedure btnCreateClick(Sender: TObject);
映射文件的使用
procedure btnOpenClick(Sender: TObject);
映射文件的使用
procedure btnSetClick(Sender: TObject);
映射文件的使用
procedure btnCloseClick(Sender: TObject);
映射文件的使用
procedure btnReadClick(Sender: TObject);
映射文件的使用
procedure FormClose(Sender: TObject; var Action: TCloseAction);
映射文件的使用
procedure btnClearClick(Sender: TObject);
映射文件的使用
procedure FormCreate(Sender: TObject);
映射文件的使用
private
映射文件的使用
atm : TAtom; //一个原子
映射文件的使用
nextwindow : string; //被发送消息程序的标题信息
映射文件的使用
procedure MyMessage(var msg : TMessage);message WM_MYMESSAGE; //自定义消息的处理
映射文件的使用
public
映射文件的使用

映射文件的使用
end;
映射文件的使用

映射文件的使用
var
映射文件的使用
Form1: TForm1;
映射文件的使用

映射文件的使用
implementation
映射文件的使用

映射文件的使用
uses comm;
映射文件的使用

映射文件的使用
映射文件的使用
...{$R *.dfm}
映射文件的使用

映射文件的使用
procedure TForm1.btnCreateClick(Sender: TObject);
映射文件的使用
begin
映射文件的使用

映射文件的使用
if CreateMap = 0 then
映射文件的使用
ShowMessage('内存映射建立失败')
映射文件的使用
else begin
映射文件的使用
btnCreate.Enabled := false;
映射文件的使用
btnOpen.Enabled := false;
映射文件的使用
StatusBar1.Panels[0].Text := '内存映射文件新建立完毕'
映射文件的使用
end;
映射文件的使用
end;
映射文件的使用

映射文件的使用
procedure TForm1.btnOpenClick(Sender: TObject);
映射文件的使用
begin
映射文件的使用
if OpenMap = 0 then
映射文件的使用
ShowMessage('内存映射打开失败')
映射文件的使用
else begin
映射文件的使用
btnCreate.Enabled := false;
映射文件的使用
btnOpen.Enabled := false;
映射文件的使用
StatusBar1.Panels[0].Text := '内存映射文件打开完毕'
映射文件的使用
end;
映射文件的使用
end;
映射文件的使用

映射文件的使用
procedure TForm1.btnSetClick(Sender: TObject);
映射文件的使用
var
映射文件的使用
hd : THandle;
映射文件的使用
begin
映射文件的使用
if (edData.Text = '') or (edModifyUser.Text = '') then
映射文件的使用
ShowMessage('请填写完整信息')
映射文件的使用
else begin
映射文件的使用
edModifyTime.Text := FormatDateTime('mm:hh:mm',Now);
映射文件的使用
WriteCommData(edData.Text,edModifyUser.Text,edModifyTime.Text);
映射文件的使用
//查找此程序的另外一个实例,如果找到,发送数据到达的消息
映射文件的使用
hd := FindWindow(nil,pchar(nextwindow));
映射文件的使用
if hd <> 0 then
映射文件的使用
SendMessage(hd,WM_MYMESSAGE,1,0);
映射文件的使用
end;
映射文件的使用
end;
映射文件的使用

映射文件的使用
procedure TForm1.btnCloseClick(Sender: TObject);
映射文件的使用
begin
映射文件的使用
UnLockMap;
映射文件的使用
CloseMap;
映射文件的使用
btnCreate.Enabled := true;
映射文件的使用
btnOpen.Enabled := true;
映射文件的使用
end;
映射文件的使用

映射文件的使用
procedure TForm1.btnReadClick(Sender: TObject);
映射文件的使用
var
映射文件的使用
tm : TShareMem;
映射文件的使用
begin
映射文件的使用
tm := ReadCommData;
映射文件的使用
edRData.Text := tm.Data;
映射文件的使用
edRUser.Text := tm.ModifyUser;
映射文件的使用
edrTime.Text := tm.ModifyTime;
映射文件的使用
end;
映射文件的使用

映射文件的使用
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
映射文件的使用
begin
映射文件的使用
UnLockMap;
映射文件的使用
CloseMap;
映射文件的使用
//下面这一句非常重要,如果不及时删除原子表中添加的原子,
映射文件的使用
//怕是只有重启计算机才能干掉程序启动时添加到原子表中的信息了
映射文件的使用
GlobalDeleteAtom(atm);
映射文件的使用
end;
映射文件的使用

映射文件的使用
procedure TForm1.btnClearClick(Sender: TObject);
映射文件的使用
begin
映射文件的使用
edData.Text := '';
映射文件的使用
edModifyUser.Text := '';
映射文件的使用
edModifyTime.Text := '';
映射文件的使用
end;
映射文件的使用

映射文件的使用
procedure TForm1.MyMessage(var msg: TMessage);
映射文件的使用
begin
映射文件的使用
if msg.WParam = 1 then
映射文件的使用
begin
映射文件的使用
Application.BringToFront;
映射文件的使用
StatusBar1.Panels[0].Text := '新数据到代';
映射文件的使用
btnReadClick(nil);
映射文件的使用
end;
映射文件的使用
end;
映射文件的使用

映射文件的使用
procedure TForm1.FormCreate(Sender: TObject);
映射文件的使用
begin
映射文件的使用
//下面的代码将在程序启动时执行,主要是通过原子表检查此程序是否运行,
映射文件的使用
//本程序运行运行两个实例,一个用来建立映射文件,
映射文件的使用
//一个用来打开映射文件,你完全可以用两个不同的程序来处理,这里为了方便
映射文件的使用
//以及演示原子表的使用而采用一个程序执行两次的方法来做
映射文件的使用
if GlobalFindAtom(pchar('wudi_1982')) <> 0 then//查找原子表如果第一个窗体已经存在
映射文件的使用
begin
映射文件的使用
if GlobalFindAtom(pchar('jingyang')) <> 0 then//如果第二个窗体也存在
映射文件的使用
begin
映射文件的使用
Application.Terminate;
映射文件的使用
end else begin
映射文件的使用
//添加原子到原子表,以记录此程序的第二个实例已经运行,并做相应操作
映射文件的使用
atm := GlobalAddAtom(pchar('jingyang'));
映射文件的使用
Application.Title := 'MyMapForm_2';
映射文件的使用
Form1.Caption := 'MyMapForm_2';
映射文件的使用
nextwindow := 'MyMapForm_1';
映射文件的使用
end;
映射文件的使用
end else begin
映射文件的使用
//添加原子到原子表,以记录此程序的第一个实例已经运行,并做相应操作
映射文件的使用
atm := GlobalAddAtom(pchar('wudi_1982'));
映射文件的使用
Application.Title := 'MyMapForm_1';
映射文件的使用
Form1.Caption := 'MyMapForm_1';
映射文件的使用
nextwindow := 'MyMapForm_2';
映射文件的使用
end;
映射文件的使用
end;
映射文件的使用

映射文件的使用
end.

程序运行效果图:

映射文件的使用

例程的使用方法:

编译之后,运行此程序的两个实例,在其中一个实例中,点击按钮【新建内存映射】,另一个实例使用【打开已存在的映射】,然后在窗体的发送部分,填写相应信息,然后点击【设计内存信息】,就可以看到效果了。

注:WINXP+D7;

转载请注明出处

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
在WIN32种,通过使用映像文件在进程间实现共享文件或内存共享,如果利用相同的映像名字或文件句柄,则不同的进程可以通过一个指针来读写同一个文件或者同一内存数据块,并把他们当成该进程内存空间的一部分。 内存映像文件可以映射一个文件、一个文件中的指定区域或者指定的内存块,其中的数据就可以用内存读取指令来直接访问,而不用频繁的使用操作文件的I/O系统函数,从而提高文件的存取速度和效率。 映像文件的另一个重要作用就是用来支持永久命名的共享内存。要在两个应用程序之间共享内存,可以在一个应用程序中创建一个文件并映射,然后另外一个程序通过打开和映射此文件,并把它当作自己进程的内存来使用。事实上,此内存是所有进程共享的。 下面将先描述一下几个操作内存的API函数 1、创建内存映射的API函数 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]This function creates a named or unnamed file-mapping object for the specified file. [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]HANDLE CreateFileMapping( [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]//通过调用fileopen or FileCreate后返回的文件句柄,如果是内存,则//$FFFFFFFF [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] HANDLE hFile, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //安全性结构,一般null [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] LPSECURITY_ATTRIBUTES lpFileMappingAttributes, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //文件试图的保护类型,PAGE_READONLY,PAGE_READWRITE, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] DWORD flProtect, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //文件大小的高32位,一般设置为0,除非文件大于4G [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] DWORD dwMaximumSizeHigh, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //文件大小低32位 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] DWORD dwMaximumSizeLow, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //映射的名字 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] LPCTSTR lpName [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] 2、打开一个映射文件 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]HANDLE OpenFileMapping( [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //访问数据模式:FILE_MAP_ALL_ACCESS,FILE_MAP_COPY,FILE_MAP_READ, //FILE_MAP_WRITE [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] DWORD dwDesiredAccess, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //子进程是否可以继承 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] BOOL bInheritHandle, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //映射文件名 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] LPCTSTR lpName [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]); 3、将映射文件映射到本进程的API函数 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]LPVOID MapViewOfFile( [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //通过CreateFileMapping或OpenFileMapping返回的文件句柄 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] HANDLE hFileMappingObject, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //访问的数据模式:FILE_MAP_WRITE,FILE_MAP_READ,FILE_MAP_ALL_ACCESS [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] DWORD dwDesiredAccess, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //指定数据在映射文件中起始位置的高32位 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] DWORD dwFileOffsetHigh, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //低32位 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] DWORD dwFileOffsetLow, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //需要映射的大小,0表示全部 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] DWORD dwNumberOfBytesToMap [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]); 4、关闭映射的api函数 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]BOOL UnmapViewOfFile( [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //由MapViewofFile产生的映射文件的地址 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] LPCVOID lpBaseAddress [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]); 5、下面例子中还会用到的几个api函数 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]创建互斥对象 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]HANDLE WINAPI CreateMutex( [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] LPSECURITY_ATTRIBUTES lpMutexAttributes, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] BOOL bInitialOwner, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] LPCTSTR lpName [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]DWORD WaitForSingleObject( [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] HANDLE hHandle, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] DWORD dwMilliseconds [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] 上文中曾经提到我们使用内存映射的方式来在多个程序或DLL中共享数据。下面就通过一个程序来介绍。 虽然我要描述的是再两个应用程序之间共享数据,不过为了省事,我将所有的内容都写在一个程序中,你只需要把此程序打开两次就可以了。一个程序用来建立内存映射文件,另外一个程序用来打开内存映射文件。并通过对公共内存的读写操作来演示信息共享。 程序的窗体单元代码如下: [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]object Form1: TForm1 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 236 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 147 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 327 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 412 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = 'MyMapForm_1' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Color = clBtnFace [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Font.Charset = ANSI_CHARSET [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Font.Color = clWindowText [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Font.Height = -13 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Font.Name = '宋体' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Font.Style = [] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] OldCreateOrder = False [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] OnClose = FormClose [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] OnCreate = FormCreate [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] PixelsPerInch = 96 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TextHeight = 13 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object GroupBox1: TGroupBox [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 0 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 0 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 319 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 121 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Align = alTop [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = '共享内存的信息[发送]' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 0 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object Label1: TLabel [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 16 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 24 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 26 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 13 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = '数据' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object Label2: TLabel [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 16 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 48 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 39 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 13 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = '修改者' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object Label3: TLabel [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 16 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 80 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 52 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 13 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = '修改时间' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object edData: TEdit [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 75 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 21 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 230 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 21 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 0 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object edModifyUser: TEdit [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 74 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 49 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 231 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 21 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 1 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object edModifyTime: TEdit [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 74 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 73 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 231 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 21 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Enabled = False [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 2 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object Panel1: TPanel [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 0 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 242 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 319 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 121 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Align = alClient [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] BevelOuter = bvNone [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 1 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object btnCreate: TButton [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 32 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 8 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 113 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 25 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = '新建内存映射' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 0 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] OnClick = btnCreateClick [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object btnOpen: TButton [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 160 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 8 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 113 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 25 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = '打开已存在映射' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 1 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] OnClick = btnOpenClick [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object btnRead: TButton [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 160 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 45 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 113 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 25 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = '读取映射信息' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 2 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] OnClick = btnReadClick [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object btnSet: TButton [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 32 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 45 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 113 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 25 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = '设置内存信息' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 3 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] OnClick = btnSetClick [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object btnClose: TButton [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 32 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 85 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 113 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 25 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = '关闭映射' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 4 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] OnClick = btnCloseClick [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object btnClear: TButton [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 160 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 85 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 113 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 25 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = '清空编辑狂' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 5 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] OnClick = btnClearClick [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object StatusBar1: TStatusBar [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 0 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 363 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 319 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 19 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Panels = < [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] item [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 200 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end> [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object GroupBox2: TGroupBox [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 0 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 121 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 319 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 121 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Align = alTop [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = '共享内存的信息[接收]' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Enabled = False [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 3 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object Label4: TLabel [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 16 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 24 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 26 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 13 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = '数据' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object Label5: TLabel [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 16 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 48 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 39 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 13 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = '修改者' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object Label6: TLabel [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 16 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 80 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 52 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 13 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Caption = '修改时间' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object edRData: TEdit [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 75 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 21 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 230 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 21 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 0 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object edRUser: TEdit [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 74 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 49 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 231 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 21 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 1 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] object edRTime: TEdit [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Left = 74 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Top = 73 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Width = 231 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Height = 21 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Enabled = False [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TabOrder = 2 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end 程序的代码主要分为两部分,comm.pas单元中定义几个对操作内存映射的函数,以及共享内存的结构信息。代码如下: [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif[/img][/url]...{ [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif[/img][/url] 作者: wudi_1982 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif[/img][/url] 联系方式: wudi_1982@hotmail.com [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif[/img][/url] 开发工具以及平台:DELPHI7+WINXP [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif[/img][/url] 转载请注明出处 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif[/img][/url]} [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]unit comm; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]interface [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]uses [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Windows,SysUtils; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]const [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] FILEMAPPINGNAME = 'MyFileMapping'; // 指定内存映射的名字 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] MUTEXNAME= 'MutexName'; //互斥对象的名字 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]type [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]TShareMem = record //共享内存的结构信息 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Data : array[0..255] of char; //描述共享数据信息 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] ModifyUser : array[0..255] of char; //对数据的修改者 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] ModifyTime : array[0..7] of char; //数据最近一次的修改时间 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]PShareMem = ^TShareMem; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] FileMapHandle : THandle; //建立映射的句柄 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] MutexHandle : THandle; // 互斥对象的句柄 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] ShareMem : PShareMem; //一个指向共享内存的指针 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] function OpenMap:THandle; //打开一个映射文件并映射到本进程中 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] function CreateMap:THandle; //新建一个映射文件并映射到本进程中 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] function LockMap:boolean; //加锁 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure UnLockMap; //解锁 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure CloseMap; //关闭映射 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] function ReadCommData:TShareMem; //从共享信息中读取数据 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure WriteCommData(data,user,time : string);//对共享内存进行写操作 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]implementation [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]function OpenMap:THandle; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //打开映射文件 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] FileMapHandle := OpenFileMapping(FILE_MAP_ALL_ACCESS, //所有权限 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] false, //子进程不可继承 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] FILEMAPPINGNAME [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] ); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if FileMapHandle <> 0 then //如果映射文件打开成功 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //将映射文件映射到本进程 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] ShareMem := pSharemem(MapViewOfFile(FileMapHandle,FILE_MAP_ALL_ACCESS,0,0,0)); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if ShareMem = nil then [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] CloseHandle(FileMapHandle); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Result := 0; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end else begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //初始化共享区域 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] FillChar(ShareMem^,sizeof(TSharemem),0); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Result := FileMapHandle; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end else Result := 0; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]function CreateMap:THandle; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] FileMapHandle := CreateFileMapping($FFFFFFFF,//内存映射 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] nil, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] PAGE_READWRITE,//读写操作 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] 0,//高32位 ,一般为0,除非要映射的文件大于4G [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] sizeof(TShareMem), [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] FILEMAPPINGNAME [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] ); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if FileMapHandle <> 0 then [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] ShareMem := pSharemem(MapViewOfFile(FileMapHandle,FILE_MAP_ALL_ACCESS,0,0,0)); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if ShareMem = nil then [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] CloseHandle(FileMapHandle); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Result := 0; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end else Result := FileMapHandle; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end else Result := 0; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]function LockMap:boolean; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //创建一个互斥对象并加锁 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] MutexHandle := CreateMutex(nil,false,MUTEXNAME); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if MutexHandle <> 0 then [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if WaitForSingleObject(MutexHandle,1000)= WAIT_FAILED then Result := false [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] else Result := true; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end else Result := false; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure UnLockMap; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //释放资源 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if MutexHandle <> 0 then [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] ReleaseMutex(MutexHandle); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] CloseHandle(MutexHandle); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure CloseMap; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] // 关闭映射并释放资源 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if ShareMem <> nil then UnmapViewOfFile(ShareMem); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if FileMapHandle <> 0 then CloseHandle(FileMapHandle); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]function ReadCommData:TShareMem; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] tm : TShareMem; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] with tm do [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Data := ShareMem^.Data; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] ModifyUser := ShareMem^.ModifyUser; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] ModifyTime := ShareMem^.ModifyTime; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Result := tm; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure WriteCommData(data,user,time : string); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] StrCopy(ShareMem^.Data,pchar(data)); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] StrCopy(ShareMem^.ModifyUser,pchar(user)); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] StrCopy(ShareMem^.ModifyTime,pchar(time)); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end. 代码的另一个部分就是根据需要调用这些函数的FirstTest.pas,即上面窗体单元对应的代码 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif[/img][/url]...{ [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif[/img][/url] 作者: wudi_1982 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif[/img][/url] 联系方式: wudi_1982@hotmail.com [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif[/img][/url] 开发工具以及平台:DELPHI7+WINXP [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif[/img][/url] 转载请注明出处 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif[/img][/url]} [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]unit FirstTest; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]interface [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]uses [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Dialogs, StdCtrls, ComCtrls, ExtCtrls; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]const [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] WM_MYMESSAGE=WM_USER+1024; //一个自定义消息,用来通知接受程序数据到达 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]type [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TForm1 = class(TForm) [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] GroupBox1: TGroupBox; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Label1: TLabel; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Label2: TLabel; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Label3: TLabel; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] edData: TEdit; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] edModifyUser: TEdit; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] edModifyTime: TEdit; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Panel1: TPanel; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] btnCreate: TButton; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] btnOpen: TButton; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] btnRead: TButton; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] btnSet: TButton; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] btnClose: TButton; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] btnClear: TButton; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] StatusBar1: TStatusBar; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] GroupBox2: TGroupBox; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Label4: TLabel; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Label5: TLabel; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Label6: TLabel; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] edRData: TEdit; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] edRUser: TEdit; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] edRTime: TEdit; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure btnCreateClick(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure btnOpenClick(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure btnSetClick(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure btnCloseClick(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure btnReadClick(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure FormClose(Sender: TObject; var Action: TCloseAction); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure btnClearClick(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure FormCreate(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] private [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] atm : TAtom; //一个原子 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] nextwindow : string; //被发送消息程序的标题信息 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure MyMessage(var msg : TMessage);message WM_MYMESSAGE; //自定义消息的处理 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] public [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Form1: TForm1; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]implementation [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]uses comm; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif[/img][/url]...{$R *.dfm} [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure TForm1.btnCreateClick(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if CreateMap = 0 then [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] ShowMessage('内存映射建立失败') [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] else begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] btnCreate.Enabled := false; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] btnOpen.Enabled := false; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] StatusBar1.Panels[0].Text := '内存映射文件新建立完毕' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure TForm1.btnOpenClick(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if OpenMap = 0 then [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] ShowMessage('内存映射打开失败') [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] else begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] btnCreate.Enabled := false; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] btnOpen.Enabled := false; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] StatusBar1.Panels[0].Text := '内存映射文件打开完毕' [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure TForm1.btnSetClick(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] hd : THandle; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if (edData.Text = '') or (edModifyUser.Text = '') then [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] ShowMessage('请填写完整信息') [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] else begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] edModifyTime.Text := FormatDateTime('mm:hh:mm',Now); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] WriteCommData(edData.Text,edModifyUser.Text,edModifyTime.Text); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //查找此程序的另外一个实例,如果找到,发送数据到达的消息 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] hd := FindWindow(nil,pchar(nextwindow)); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if hd <> 0 then [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] SendMessage(hd,WM_MYMESSAGE,1,0); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure TForm1.btnCloseClick(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] UnLockMap; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] CloseMap; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] btnCreate.Enabled := true; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] btnOpen.Enabled := true; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure TForm1.btnReadClick(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] tm : TShareMem; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] tm := ReadCommData; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] edRData.Text := tm.Data; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] edRUser.Text := tm.ModifyUser; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] edrTime.Text := tm.ModifyTime; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] UnLockMap; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] CloseMap; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //下面这一句非常重要,如果不及时删除原子表中添加的原子, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //怕是只有重启计算机才能干掉程序启动时添加到原子表中的信息了 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] GlobalDeleteAtom(atm); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure TForm1.btnClearClick(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] edData.Text := ''; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] edModifyUser.Text := ''; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] edModifyTime.Text := ''; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure TForm1.MyMessage(var msg: TMessage); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if msg.WParam = 1 then [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Application.BringToFront; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] StatusBar1.Panels[0].Text := '新数据到代'; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] btnReadClick(nil); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure TForm1.FormCreate(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //下面的代码将在程序启动时执行,主要是通过原子表检查此程序是否运行, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //本程序运行运行两个实例,一个用来建立映射文件, [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //一个用来打开映射文件,你完全可以用两个不同的程序来处理,这里为了方便 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //以及演示原子表的使用而采用一个程序执行两次的方法来做 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if GlobalFindAtom(pchar('wudi_1982')) <> 0 then//查找原子表如果第一个窗体已经存在 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if GlobalFindAtom(pchar('jingyang')) <> 0 then//如果第二个窗体也存在 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Application.Terminate; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end else begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //添加原子到原子表,以记录此程序的第二个实例已经运行,并做相应操作 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] atm := GlobalAddAtom(pchar('jingyang')); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Application.Title := 'MyMapForm_2'; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Form1.Caption := 'MyMapForm_2'; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] nextwindow := 'MyMapForm_1'; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end else begin [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //添加原子到原子表,以记录此程序的第一个实例已经运行,并做相应操作 [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] atm := GlobalAddAtom(pchar('wudi_1982')); [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Application.Title := 'MyMapForm_1'; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Form1.Caption := 'MyMapForm_1'; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] nextwindow := 'MyMapForm_2'; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end. 程序运行效果图: [url=http://www.wangchao.net.cn/bbsdetail_501489.html][img]http://p.blog.csdn.net/images/p_blog_csdn_net/wudi_1982/Mapfile.JPG[/img][/url] 例程的使用方法: 编译之后,运行此程序的两个实例,在其中一个实例中,点击按钮【新建内存映射】,另一个实例使用【打开已存在的映射】,然后在窗体的发送部分,填写相应信息,然后点击【设计内存信息】,就可以看到效果了。 注:WINXP+D7; 转载请注明出处
󰈣󰈤
 
 
 
>>返回首页<<
 
 热帖排行
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
©2005- 王朝网络 版权所有