看流星社区

 找回密码
 注册账号
查看: 2904|回复: 2

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

[复制链接]

该用户从未签到

发表于 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
貌似好点
以前是在函数里局部声明的,慢死。

该用户从未签到

 楼主| 发表于 2011-3-28 09:00:42 | 显示全部楼层
问题已经解决,原来是由于,声明结构错误,错误的写成类(class)了,呵呵,太大意~!
我单独用了一个线程来处理这个数组的加载,这样速度慢点也不会影响整体的运行拉
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-19 09:15

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表