Order := TInstr(PFunc)(text
TInStr是一個定義好了的函數類型
type
TInStr = function(Source: PChar;Check: Char)
Windows規定
為了避免出現這種情況
但在特定情況下
由DLLs管理的全局內存塊是應用程序間進行數據傳輸的又一途徑
利用DLLs實現應用程序間的數據傳輸的步驟為
用於實現數據傳輸的DLLs與一般DLLs的編寫基本相同
var
hMem: THandle;
function GetGlobalMem: THandle; export;
begin
Result := hMem;
end;
程序清單如下
begin
hMem := GlobalAlloc(gmem_MOVEABLE and gmem_DDEShare
if hMem =
MessageDlg(
end
num是一個預定義的常數
Windows API函數GlobalAlloc用於從全局內存堆中分配一塊內存
表
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
標 志 意 義
gmem_DDEShare 分配可由應用程序共享的內存
gmem_Discardable 分配可拋棄的內存(只與gmem_Moveable連用)
gmem_Fixed 分配固定內存
gmem_Moveable 分配可移動的內存
gmem_Nocompact 該全局堆中的內存不能被壓縮或拋棄
gmem_Nodiscard 該全局堆中的內存不能被拋棄
gmem_NOT_Banked 分配不能被分段的內存
gmem_Notify 通知功能
gmem_Zeroinit 將所分配內存塊的內容初始化為零
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
有兩個預定義的常用組合是
GHND = gmem_Moveable and gmem_Zeroinit
GPTK = gmem_Fixed and gmem_Zeroinit
第二個參數用於設置欲分配的字節數
由於用gmem_DDEShare分配的內存在分配內存的模塊終止時自動拋棄
返回目錄
編輯推薦
Java程序設計培訓視頻教程
J
Visual C++音頻/視頻技術開發與實戰
Oracle索引技術
ORACLE
Java程序性能優化
C嵌入式編程設計模式
Android游戲開發實踐指南
[
From:http://tw.wingwit.com/Article/program/Delphi/201311/25210.html