急...dll内的form之间的public里动态数组问题???
我现在dll文件内建立了两个form,在其中的form中的public里申明了动态数组,并使用现在我要在另一个form里把使用这个动态数组,但调用时出错请问为什么?为什么动态数组dll里建立的form之间不能共享使用,我以申明在public里??显示错误信息:Access violation at address 02C1788C in module 'reportmanage.dll'.Read of address 00000950.

解决方案 »

  1.   

    To FrameSniper:
      谢谢你的关注。请大家踊跃回答,参与。
      

  2.   

    To rikky(读书、心知、生活):  我在调用前已经用setlength设置了,我在创建的那个form里怎么用都可以,但在其他的form里调用却出错,难倒在其他form里调用时都要先setlength吗?我主要是把动态数组的数据传给其他的form里。
      

  3.   

    请把动态数组声明为private的,然后给一个function GetDynamicArray():PChar;函数体内部
    result := PChar(你的动态数组);
      

  4.   

    请注意写代码的面向对象,对于数据来说最好不要用public来声明,这样会容易被胡乱修改的,最好使用属性方式进行修改
      

  5.   

    To Linux2001(恋人不如自恋):
      返回的PChar值和动态数组之间有什么关系?这样不能达到我要求的效果,因为我要利用这个动态数组来循环负值和计算长度,我申明的动态数组是一个记录型,PChar不适应。To 
      就是很正常的调用
      for i:=0 to 8 do
      begin
        a:=fs[i].a;
        b:=fs[i].b;
      end;
      这是在另一窗口调用的,就这么简单
      

  6.   

    To citytramper:  我是用dll文件做的,你在试试好吗?