VAR
  STR:PCHAR;
begin
  new(str);
  str[1]:='1';
  str[0]:='2';
  STR[2]:=#0;
  showmessage(str);
  DISPOSE(STR);
end;

解决方案 »

  1.   

    你弄错了吧
    我说的是指针阿如:
    type
            user_log=record
                    user_id:integer;
                    real_name:string;
            end;
            Puser_log=^user_log;var
            mUserLog : Puser_log;
            while not query1.eof do begin
                    new(mUserLog);
                    .........
                    query1.Next;
                    mSum:=mSum+1;
            end;        for i:=0 to mSum-1 do begin
                    showmessage(mUserLog[mSum].real_name);
            end
      

  2.   

    指向结构的指针不是这样用的,这就好比是链表你这样设计
    type
    Puser_log=^user_log; 
    user_log=record 
      user_id:integer; 
      real_name:string;
      next: Puser_Log; 
    end; 
    以后使用的时候用用next进行访问;

    var
      p, p1, root: puser_log;begin
      new(p);
      root := p;
      while not query1.eof do begin 
        new(p1); 
        ......... 
        query1.Next; 
        p.next := p1;
        p := p.next;
      end; 
      p := root;
      while p.next <> nil do
        .....
      

  3.   

    楼上的几个兄弟,你们的意思我明白。
    我主要不知道数组的长度,没法定义,所以就用指针new啊new的,但后面又想想数组一样操作,C++里就可以这样做。如果是链表的话,取第N个就比较麻烦。