unsigned char* adr=new unsigned char(0x06)我在delphi是这样写的:
var adr : pchar;
count : longword;
begin
  getmem(adr,100);
  count := $06;
  adr := @count;  
end;
adr里只是一个空值,请教该怎样写???

解决方案 »

  1.   

    var adr : pchar;
    comstr : string;
    begin
      getmem(adr,100);
      comstr := inttohex(6,2);
      adr := @comstr;  
    end;
    我这样写也不行。
      

  2.   

    ADR是什么?没必要这么复杂吧?
    支持
    adr : integer
    adr := 6;
      

  3.   

    var
      adr: PChar;
      count: Longword;
    begin
      GetMem(adr, 100);
      count := $06;
      adr^ := Char(count);
    //or  Move(count, adr^, SizeOf(count));
      FreeMem(adr, 100);
    end;
      

  4.   

    adr^ := Char(count);出现以下错误Project PRead.exe raised exception class EAccessViolation with message 'Access violation at address 004029EF in module 'PRead.exe'. Write of address 00000000'. Process stopped. Use Step or Run to continue.
      

  5.   

    var
      C: char;
      P: ^char;
    //...
      C := 6;
      P := @C;或者直接这样也可以:
    var
      C: char = chr(6);
      P: ^char = @C;
    但是不能作为局部变量。
      

  6.   

    adr^ := Char(count);出现以下错误
    ----------
    是你自己哪里写错了吧,那种写法没有问题啊~