vmt

    3熱度

    1回答

    Delphi XE暫時只在我的盒子上可用,我不知道Delphi 2010/XE2是否引入了一些突破性更改。 請幫我更新瞭如下定義: TVmt = packed record SelfPtr : TClass; IntfTable : Pointer; AutoTable : Pointer; InitTable : PFieldTable;

    1熱度

    2回答

    在正偏移量處,VMT存儲指向所有用戶定義虛擬方法的指針。 我需要編寫一些代碼來掛鉤VMT。 我這樣做的方式是獲取指向祖先類中的虛擬方法的指針。 比方說:TCustomForm.ShowModal。然後我查找了TCustomForm的VMT中的偏移量。有了這個偏移量,我去TMyForm並改變它的VMT指向我需要的功能。 我想概括一下這個方法,爲了做到這一點,我想知道VMT的條目總數,所以我不會搜索結

    4熱度

    1回答

    我已經功能(Delphi編寫的7,32位): Function GetVMTAddr(var C): Integer; Begin Result := Integer(C); Try PVmt(Result)^.SelfPtr := PVmt(C)^.SelfPtr; Except Result := 0; End; End; 它返回