delphi的怪问题(50分)

X

xbhuang

Unregistered / Unconfirmed
GUEST, unregistred user!
我们在开发过程中使用了如下的程序,但运行时有错,请各位高手指点
自定义过程:
MyProc(a:Array of Char);
begin
...
end;
调用:
var
b:Array of Char;
begin
SetLength(b,100);
MyProc(b);
end;
 
是编译时有错吧?
 
你先定义
interface
forms,........
type
arrtype1 = array of char
然后把你程序里的array of char
都替换成  arrtype1

MyProc(a:arrtype1);
begin
...
end;
调用:
var
b:arrtype1;
begin
SetLength(b,100);
MyProc(b);
end;
 
明白了。
 
我不明白,那样替换有什么区别。
还有Array [0..99] of Char中间的集合去掉是不是表示这是一个动态数组?
SetLength对string有效,怎么对数组也能用?
 
真是林子大了什么鸟都有,你用string不行啊,还去管什么内存分配问题!
 
请ArchangelQin看delphi帮助中的下列描述:
procedure SetLength(var S;
NewLength: Integer);
Description
S is a string or dynamic-array variable.
 
多人接受答案了。
 
顶部