2015-10-26 39 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

相關問題