服務器程序必須包含對DLL的調用代碼
function GetGlobalMem: THandle; far; external
通過調用該函數
在寫入數據前
函數GlobalLock鎖定全局內存並返回指向該內存塊的指針
pMem := GlobalLock(hMem)
對pMem的任何修改都會反映到全局內存塊中
對內存塊進行操作後
服務器寫入數據的實現代碼如下
var
hMem: THandle;
pMem: PChar;
begin
hMem := GetGlobalMem; {獲得全局內存塊的句柄}
if hMem <>
begin
pMem := GlobalLock(hMem)
if pMem <> nil then
begin
StrPCopy(pMem
GlobalUnlock(hMem)
end
else
MessageDlg(
end;
客戶程序幾乎是服務器程序的翻版
下面是客戶從全局內存塊下載數據的程序清單
var
hMem: THandle;
pMem: PChar;
begin
hMem := GetGlobalMem; {獲得全局內存塊的句柄}
if hMem <>
begin
pMem := GlobalLock(hMem)
if pMem <> nil then
begin
Memo
GlobalUnlock(hMem)
end
else
MessageDlg(
end;
實現窗體重用是Delphi DLLs功能中一個引人注目的特色
包含窗體的DLLs有
[
From:http://tw.wingwit.com/Article/program/Delphi/201311/25203.html