现将Canvas传入 dll内,在dll内 改变其 画刷,画笔等信息,在外部调用该dll后,传入的Canvas指针为空。函数声明为:
procedure test(SchPCBCanvas:TCanvas);
 
调用代码如下:         Test(SchPCBCanvas);
       SchPCBCanvas.brush.color := clwhite;       再次设置时,该对象为空
       SchPCBCanvas.brush.color := clwhite;
    碰过类似问题的请指教。

解决方案 »

  1.   

    傳遞Handle,否則就需要帶包運行:VclXX.bpl, rtlXX.bpl
      

  2.   

    procedure   test(SchPCBCanvas:TCanvas); stdcall;
      

  3.   

    procedure       test(SchPCBCanvas:TCanvas);   stdcall;  
       我是这么定义的,刚没写全傳遞Handle,否則就需要帶包運行:VclXX.bpl,   rtlXX.bpl   能详细点么?  谢谢