panel上的鼠标事件!(急),该如何解决

panel上的鼠标事件!!(急)
我搞不清楚那里错了,可运行后就出错!!帮帮修改一下!!!
procedure TForm1.Panel1Click(Sender: TObject);
var
pi:integer;
icoun,iid:integer;

begin
  icoun:=strtoint(rightstr(tpanel(sender).Name,1));
  for pi:=1 to panel1.ControlCount-1 do
  begin
  if panel1.Controls[pi].ClassName='TPanel'then
  begin
  iid:=strtoint(rightstr(tpanel(sender).Name,1));
  label1.Caption:=Tpanel(sender).ClassName+tpanel(sender).Name;
  plw:='listview'+inttostr(iid);
  pplw:=tlistview(plw);
  label2.Caption:=pplw.Name;//运行到这里出错!!
  end;
  end;

end;


------解决方案--------------------
plw := 'listview ' + inttostr(iid); 
pplw := tlistview(plw); 
只能这个代码写得有创意。。。
plw是string类型,实际上string和TListView类型都是指针,所以可以编译器让pplw := tlistview(plw);通过了
但并不表示,编译后就会智能的判断出字符串所代表的实例
不过让是pplw指向了plw的地址,而这个地址中存放的内容并不时ListView的实例,当访问的时候会出现异常。

Delphi(Pascal) code
TComponent(pplw) := FindComponent(Format('ListView%d', [iid]));
if Assigned(pplw) then
  Label2.Caption := pplw.Name
else Label2.Caption := 'NULL';