在C#2005中调用delphi写的dll,返回值为数组。在C#2003(.net Framework 1.1版)及以下版本可输出结果,但在C#2005(.net Framework2.0)中调用就出错,被困扰好久了,哪位达人指点下迷津,不胜感谢!
  procedure UnitLine(n, K, Hour: Double;var U: array of double);为输出的函数。(n,k也为double型)
在C#中调用申明:
[DllImport("f:\\mydll\\nash_line.dll")]
        public static extern  void   UnitLine(double aa, double bb, double cc,params double[] dd); //将params去掉在.net1.1中也可输出结果,在.net2.0中都不行
调用:其中的dd为输出任意长度的数组,aa,bb,cc均为输入参数。
            double aa = 1;
            double bb = 2;
            double cc = 3;
            double[] dd =new double[5]; 
            UnitLine(aa, bb, cc,dd);
运行出错:"尝试读取或写入受保护的内存。这通常指示其他内存已损坏。"       出现未处理AccessViolationException.
先谢!