现在好了,我改了一下: var strFileName:String; pFileName:PChar; begin with lvDocList.Items.Add do begin //GetMem(pFileName,Length(strFileName)); //StrPcopy(pFileName,strFileName); pFileName:=StrNew(PChar(strFileName)); Data:=pFileName; end; end; 这样就行了,我也不知道是什么原因
那样也不行,和以前一样
To iBear:
我就是象你说的那样做的
var strFileName:String;
pFileName:PChar;
begin
with lvDocList.Items.Add do
begin
//GetMem(pFileName,Length(strFileName));
//StrPcopy(pFileName,strFileName);
pFileName:=StrNew(PChar(strFileName));
Data:=pFileName;
end;
end; 这样就行了,我也不知道是什么原因
读取data时最好用的 strFileName:=Strpas(lvDocList.Selected.Data);