每次运行到 ShiLiDlg := TShiLiDlg.Create(Application)(诸如此类);就会出现 :a component named ShiLiDlg alreadyl exists 的错误提示信息,这一般是在哪里进行了改动而造成的?/请高手指点 谢谢

解决方案 »

  1.   

    去掉上面那句 或者不初始化ShiLiDlg
      

  2.   

    “a component named ShiLiDlg alreadyl exists”说的很清楚了,你已经创建了一个名为ShiLiDlg的对象,你只能创建一个这样名称的对象,因为创建时你指定了其Owner为Application。
      

  3.   

    你已经创建了一个ShiLiDlg,所以再创建的时候会错误。如果你想从新创建可以先ShiLiDlg.free,然后再ShiLiDlg := TShiLiDlg.Create(Application)。
      

  4.   

    可以先判断:
    if not assigned(ShiLiDlg) then
        ShiLiDlg := TShiLiDlg.Create(Application);