Record宣告問題 |
尚未結案
|
cyl
中階會員 發表:163 回覆:171 積分:66 註冊:2002-07-11 發送簡訊給我 |
請問我在formb 宣告一個record
type Tmydata =record
key1,key2:string;
end;
mydata :Tmydata;
然後有一個function 傳回Tmydata;
我在formb call此function
mydata := form.GetF1Value;
但是一直出現[Error] CustFrm.pas(279): Incompatible types: 'CustFrm.Tmydata' and 'DataFrm.Tmydata'
我在forma也宣告了 mydata但是為什麼一直不過????
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
引言: 請問我在formb 宣告一個record type Tmydata =record key1,key2:string; end; mydata :Tmydata; 然後有一個function 傳回Tmydata; 我在formb call此function mydata := form.GetF1Value; 但是一直出現[Error] CustFrm.pas(279): Incompatible types: 'CustFrm.Tmydata' and 'DataFrm.Tmydata' 我在forma也宣告了 mydata但是為什麼一直不過????This is the main point... In FormA TMyData = FormA.TMyData, in form B TMyData = FormB.TMyData. Although their definitions are the same, they are considered to be two different types. You may 'uses FormB' in FormA before using the record type. A better approach is to use another unit for the record type definition and 'uses' the new unit in both form A & B. |
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
我在forma也宣告了 mydata但是為什麼一直不過????
Global參數兩邊都宣告? 還是type之定義兩邊都做? 看不到你宣告的位置, 顯然是位置不對 大致應如此
FormB之unit
type
Tmydata =record
key1,key2:string;
end;
TFormB=class(TForm)
...
end; var formb:TFormb;
mydata:TMyData;
//-----------------------------------------
//-------------------------------------
FormA之unit
uses ...unita 發表人 - ccchen 於 2003/01/16 15:47:47
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |