delphi 函数中 动态数组长度赋值

来源:百度知道 编辑:UC知道 时间:2024/05/05 07:59:16
function xx(var p:array of integer): integer;
begin
setlength(p,10);
end;
编译时出错,应该怎么改阿。。。。。
急用!
希望大家出谋划策,hehe
错误信息:incompatible types
下楼的回答不对
快来帮忙a

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
pt=^t;
t=array of integer;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

function xx(var p:pt): integer;
begin
setlength(p^,10);
xx:=1;//函数必需有返回值
end;

procedure TForm1.Button1Click(Sender: TObject);
var a:t;
b:pt;
begin
b:=@a;
xx(b);
a[8]:=9;
showmessage(inttostr(a[8]));
end;

end.
我这样试着可以,你试试看因为变量不能那样传,要传指针