kenhuang 发表于 2011-3-28 09:00:05

复杂数据结构,作为参数传递问题

===文件1=====
type
AA=record
bb:string;
cc:integer;
end;
type
MM:string;
nn:integer;
dd:array of AA
end;
====文件2====
var
ss:MM;
implementation
loadinfo(ss);
=========文件3==
var
i:integer;
-------
procedure loadinfo(var ss:MM);
begin
ss.mm:='123';
ss.nn:=24;
setlength(ss.dd,ss.nn);
for i=0 to ss.nn-1 do
ss.dd.bb:=....
..........
end
end;
这些文件都在DLL中,编译通过(使用delphi2007),调用时报错,读取地址错误,调试发现for以上语句都可以运行,以下就出错拉,在2文件中也不能读取,请高手指点一二,我是delphi新手,这些代码在VB中编译通过

还有我发现动态数组的执行效率很低,1000毫秒刚能够初始化加赋值,各位大师,指点下小弟,急~!~!~!
----------------------------------------------

没有不可能 发表于 2011-3-28 09:00:24

还有我发现动态数组的执行效率很低,1000毫秒刚能够初始化加赋值,各位大师,指点下小弟,急~!~!~!
----------------------------------------------
我昨天也是这样
我后来把动态数组在全局声明。使用的时候设置长度,使用完了长度清0
貌似好点
以前是在函数里局部声明的,慢死。

kenhuang 发表于 2011-3-28 09:00:42

问题已经解决,原来是由于,声明结构错误,错误的写成类(class)了,呵呵,太大意~!
我单独用了一个线程来处理这个数组的加载,这样速度慢点也不会影响整体的运行拉
页: [1]
查看完整版本: 复杂数据结构,作为参数传递问题