new(pUser);
    pUser.UserID:=ClientDataSet1.fieldByname('UserId').AsString;
//其实这样也可以,我觉得改成:
pUser^.UserID:=ClientDataSet1.fieldByname('UserId').AsString;//edtUserId.text:=pUser.UserId//可能问题在这里
改成:PTUser(pUser)^.UserId

解决方案 »

  1.   

    是否存在参数按地址传递的情况,否则按值传递的话,应不会改变参数的值,可以在前面加一Const。
      

  2.   

    redwoodnymph(new):
      我这样试过,没用,其实那两种调用方式是一样的,我测试过多次。
    chao_jian(升级中...),这样我也试过,不行。
      

  3.   

    你把pUser.UserID这样的写法都写成
    pUser^.UserID,
    我以前见过一篇帖子,说过这两种写法的区别,具体我忘了
    要不成功的话,我就没法子了