有关函数调用的问题(50分)

  • 主题发起人 主题发起人 aynes
  • 开始时间 开始时间
A

aynes

Unregistered / Unconfirmed
GUEST, unregistred user!
我在UNIT2.PAS中定义了一个函数,我想当unit1.pas调用的时候,传递回去的是一个结构
体的数组。unit2.pas的定义如下:
type
TCode=record
Addr:string;
Code:string;
Source:string;
Byte:integer;
ZhouQi:integer;
Err:string;
end;
function MCode(FileName:string)://在这边如何定义

var
DataCode:Array[0..65535] of TCode;

想请问:好像是用指针吧,在unit2中的函数应如何定义,
在unit1中我又该如何定义,才能让函数返回的结果为一个结构体的数组。
请尽量写的详细点
 
你看这样定义行不行
function MCode(FileName:string;Count:integer;var DataCode:Array of TCode):Boolean
//Count表示实际数组内数据量;返回值表示处理成功与否。
另一定一方法:
type
TDataCode = Array[0..65535] of TCode;
var
MyDataCode:TDataCode;
function MCode(FileName:string):TDataCode;
我现在没法试,你先编译一下,看行不行?
 
这样应该可以
type
TArrayCode = Array of TCode

var
MyCode: TArrayCode;

function MCode(FileName: String): TArrayCode;

MyCode:=MCode('FileName');

在程序里用 SetLength(MyCode,10) 设置维数
用High(MyCode) 与 Low(MyCode) 判断它的下标
 
谢了,
我发现我用255时可以,当用65535时出错。
不过255可用就行了。
谢了。
 
后退
顶部