一个主窗体mainFrm,几个子窗体就简单的写为frm1,frm2,frm3.选择主窗体菜单中的某一项弹出相应的子窗体(子窗体作为主窗体的一部分)。问题现在出现在子窗体上。在子窗体上,点击按钮就会把imagelist中的图片显示到子窗体的特定位置或者利用画笔在特定的位置画图。程序运行到这个地方就会报错。    麻烦大家帮忙解决一下!

解决方案 »

  1.   

    ImageList1.Draw(Canvas{窗体的 Canvas},50{位置坐标X},50{位置坐标Y},0{ImageList1的图标索引});出错的话你不贴错误出来显然是想要人猜吗?
      

  2.   

    //主窗体  procedure TFrmMain.btn1Click(Sender: TObject);
       begin
         //显示子窗体
           Tfrm1.create(self);
         //窗体的其他属性设置      ……
        ……
         frm1.BorderStyle := bsnone;//使子窗体作为主窗体的一部分显示
       
       end;
    //子窗体 Frm1
    procedure TFrm1.btn2Click(Sender: TObject);
    begin
      // 在子窗体的特定位置显示图片
      ImageList1.Draw(Frm1.Canvas, 97, 136, 0, True);  //在此处报错 出现ACCESS violation错 误end; 
      

  3.   

    子窗体Frm1中的其他功能都能运行,仅画图这个不可以。怎么会是nil呢?
      

  4.   

    Frm1的ImageList1里头没有图片?