OgUtil.pas中的OnGuard我想移植到64位
德爾福64位不允許使用ASM與帕斯卡爾我可以轉換這個功能用delphi 64位轉換爲Delphi 64位?
function LockFile(Handle : THandle;
FileOffsetLow, FileOffsetHigh,
LockCountLow, LockCountHigh : Word) : Boolean;
var
Error : Word;
begin
asm
mov ax,$5C00
mov bx,Handle
mov cx,FileOffsetHigh
mov dx,FileOffsetLow
mov si,LockCountHigh
mov di,LockCountLow
int $21
jc @@001
xor ax,ax
@@001:
mov Error,ax
end;
Result := Error = 0;
end;
工作可以完全把這段代碼轉換帕斯卡
function UnlockFile(Handle : THandle;
FileOffsetLow, FileOffsetHigh,
UnLockCountLow, UnLockCountHigh : Word) : Boolean;
var
Error : Word;
begin
asm
mov ax, $5C01
mov bx,Handle
mov cx,FileOffsetHigh
mov dx,FileOffsetLow
mov si,UnLockCountHigh
mov di,UnLockCountLow
int $21
jc @@001
xor ax, ax
@@001:
mov Error, ax
end;
Result := Error = 0;
end;
德爾福64位不允許使用ASM與帕斯卡爾我可以轉換這個功能用delphi 64位
工作請幫助這個轉換代碼帕斯卡爾
鑑於16位文件句柄和偏移量,我懷疑此代碼是否適用於32位Windows。問題*轉換*這個代碼是否真的是最好的動作; *刪除*它可能更合適。無論如何,OS已經提供了文件鎖定API函數。 –