PUrlRecord=^Turlrecord;
  TUrlRecord = record
    URL: string;
  end;  var
   paramt:Purlrecord;          ustr:=SourcePageLIst.Names[n];
          GetMem(Paramt,Length(ustr));
          Paramt^.URL:=ustr;   就是这段代码,是在一个循环里的,当执行到第一行时,绝大多数时候都是对的,但每次循环中就有一两次跟踪时 ustr和SourcePageLIst.Names[n] 居然不同SourcePageLIst是一个Tstringlist,绝大多数时候是SourcePageLIst.Names[n]赋值给ustr时,里面的‘.’被替换成了‘-’,并且Getmem有时候不能给Paramt分配内存,执行到Paramt^.URL:=ustr 时提示错误。