procedure imsend.dispaline(buf_s1:PByte;buf_d1:PByte;row_n:integer);
var
 i,offset:integer;begin
  offset:=row_n*(led_w div 8);
  copymemory(buf_d1+offset,buf_s1+offset,(led_w div 8));
  for i:=0 to (led_w div 8)-1 do
  begin
 putled(brd,hs+row_n,ls+i,buf_s+offset+i]);
  end;
end;
运行时copymemory(buf_d1+offset,buf_s1+offset,(led_w div 8));总是提示错误!
[Error] send.pas(135): Operator not applicable to this operand type
请问怎样书写啊?

解决方案 »

  1.   

    copymemory(pointer(longword(buf_d1)+offset),buf_s1,(led_w div 8));
    搞定!就给楼上的兄弟加分了!
      

  2.   

    //try
    copymemory(Pointer(Integer(buf_d1)+offset),Pointer(Integer(buf_s1))+offset,(led_w div 8));
      

  3.   

    CopyMemory(PByte(Integer(buf_d1)+offset), PByte(Integer(buf_s1)+offset), led_w div 8);但是注意在这句之前你必须确保已经给buf_d1,buf_s1分配内存。—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————