Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
DllMemU.pas
Package: delphi.rar [view]
Upload User: fh681027
Upload Date: 2022-07-23
Package Size: 1959k
Code Size: 1k
Category:
Delphi VCL
Development Platform:
Delphi
- unit DllMemU;
- interface
- uses
- Windows, SysUtils;
- procedure SetData (I: Integer); stdcall;
- function GetData: Integer; stdcall;
- procedure SetShareData (I: Integer); stdcall;
- function GetShareData: Integer; stdcall;
- implementation
- // global DLL data
- var
- PlainData: Integer = 0; // not shared
- ShareData: ^Integer; // shared
- hMapFile: THandle;
- const
- VirtualFileName = 'ShareDllData';
- DataSize = sizeof (Integer);
- // plain (non shared) data read and write
- procedure SetData (I: Integer); stdcall;
- begin
- PlainData := I;
- end;
- function GetData: Integer; stdcall;
- begin
- Result := PlainData;
- end;
- // shared data read and write
- procedure SetShareData (I: Integer); stdcall;
- begin
- ShareData^ := I;
- end;
- function GetShareData: Integer; stdcall;
- begin
- Result := ShareData^;
- end;
- initialization
- //create memory mapped file
- hMapFile := CreateFileMapping ($FFFFFFFF, nil,
- Page_ReadWrite, 0, DataSize, VirtualFileName);
- if hMapFile = 0 then
- raise Exception.Create ('Error creating memory mapped file');
- // get the pointer to the actual data
- ShareData := MapViewOfFile (
- hMapFile, File_Map_Write, 0, 0, DataSize);
- finalization
- UnmapViewOfFile (ShareData);
- CloseHandle (hMapFile);
- end.