2015-10-26 26 views
1

单位1个来源:如何在delphi中调用自定义函数记录struct参数?

type cha = record 
data1 : string; 
data2 : String; 
end; 

type Tchadata = Array of cha; 

var 
A : Tchardata; 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
GetData(A); 
end; 

UNIT2来源:

type cha = record 
data1 : string; 
data2 : String; 
end; 

type Tchadata = Array of cha; 

procedure Getdata(var Data : Tchadata); 
begin 

end; 

这是我的Delphi代码。但是,遵守...

[错误] Unit1.pas:实际和正式参必须是 相同

为什么?

我不好英语。抱歉。
为什么不能编译?

+0

尝试删除'Getdata'过程中的变量参数,使其值参数 – Marusyk

回答

3

虽然类型定义相同,但它们是不同的。因此错误信息。

您应该定义一次记录。它看起来应该在Unit2中定义,并导入到Unit1

UNIT2

unit Unit2; 

interface 

type 
    cha = record 
    data1 : string; 
    data2 : String; 
    end; 

    Tchadata = Array of cha; 

procedure GetData(var Data : Tchadata); 

implementation 

procedure GetData(var Data : Tchadata); 
begin 
    // Populate Data 
end; 

end. 

1单元

unit Unit1; 

interface 

uses 
    Unit2; // imports types and the procedure 

implementation 

procedure Foo; 
var 
    Data: Tchadata; 
begin 
    GetData(Data); 
end; 

end. 
+0

感谢家伙..德尔福空操作:( – aurora

相关问题