指定一個位址並傳入值 |
尚未結案
|
pricejit2
一般會員 發表:53 回覆:18 積分:14 註冊:2005-01-28 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
pricejit2
一般會員 發表:53 回覆:18 積分:14 註冊:2005-01-28 發送簡訊給我 |
|
h@visli
資深會員 發表:103 回覆:429 積分:431 註冊:2004-02-13 發送簡訊給我 |
|
h@visli
資深會員 發表:103 回覆:429 積分:431 註冊:2004-02-13 發送簡訊給我 |
試試這個:
把位址給指定給一個指針,再對這個指針傳值: Converts a specified address to a pointer. Unit System Category pointer and address routines Delphi syntax: function Ptr(Address: Integer): Pointer; In Delphi code, Ptr converts the given address to a pointer. A call to this function generates no code, but simply treats the 32-bit value given by Address as a pointer. Like nil, the result of Ptr is assignment compatible with all pointer types. ----------------------------
於Delphi K.Top之上
博采眾家之長, 奉獻綿薄之力
---------------------------
------
------------------------ 博采眾家之長,奉獻綿薄之力 ------------------------ |
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
引言: 我該如何指定一個位址0x0045b6ea並傳入值呢 要用什麼指令呢 可舉個例子嗎位址0x0045b6ea就是指针。 问题是,你的这个位址0x0045b6ea是怎么来的?它有没有分配到Memory?分配到多大?这都是问题。 比如,AMemory:TMemoryStream. 则:AMemory.Memory就是一个指针。 光有指针没用。如果它没有被分配Memory,你怎么放东西进去?还有,它分配的Memory有多大?如果你传进去的东西超过它的大小,程式会出希奇古怪的错误。 比如,我有个 S:string; S:='Hello world'; 还有一个指针:APChar:PChar; 要先给指针分配空间: GetMem(APChar,100); 然后可以把S里的内容搬进去: Move(S[1],APChar^,Length(S)); 不过,如果没有必要,在Delphi里,你是可以不用指针的。对于Memory里的位址,能不用就不直接用。 不知道你在这里提出这个问题,是有什么真实的需要呢?说不定,可以用别的办法解决。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |