>>>>>动态数组作为过程的参数调用,出现问题。来看一下。(20分)

  • 主题发起人 主题发起人 nzfsoft
  • 开始时间 开始时间
NND,只能用全局变更来做了。不爽
 
你要象DEN所说的那样,先将动态数组定义为一个类型才能作为参数使用
如:
type
TMyArrayBol=array of Boolean;
TMyArrayInt=array of Integer;
.....
然后:
procedure MyProc(mMyArray: TMyArrayInt);....
 
楼上:这种方法我试过了。。。。。
 
呵,,我知道你那是怎么回事了,,
那不是你的用法不对,是你的系统有毛病。
我把你的代码copy 到我的机上试,都正常啊。。 :)
而且就需不需要 定义 一个动态数组类型,好像你的一个 function 要返回一个
动态数组时,你才是必须定义相应的动态数组类型的。。
 
同意DEN,动态数据不能直接调用,应该重新定义一个类型。
 
Darnis:
>>>>而且就需不需要 定义 一个动态数组类型,好像你的一个 function 要返回一个
动态数组时,你才是必须定义相应的动态数组类型的。。
<<<<<
我怎么不懂你讲的意思呀?具体一些,我的代码要怎么样修改才可以?
(我重启机器后,按我最开始的代码重新写另一个过程。一切OK。
也不用定义什么
type
TMyArrayBol=array of Boolean;
TMyArrayInt=array of Integer;
.....
然后:
procedure MyProc(mMyArray: TMyArrayInt);....)
 
type
TMyArrayBol=array of Boolean;
TMyArrayInt=array of Integer;
.....
然后:
procedure MyProc(mMyArray: TMyArrayInt);....)
你不是重新定义了一个Tmyarraybol的布尔型数据了吗?这就行啦
 
我的意思是说如果你有写一个 function 需要返回一个 array of type
的话,那你得先定义一个类型:
type
TDynArray = array of smallint;

function BBB:TDynArray;
// 这里如果你用 array of smallint 是不行的。
 
好了结束。大家意思知道了。
 
后退
顶部