我創建了一個名爲TRecord的類來存儲數據。我創建了另一個包含TRecord類作爲對象列表的類。我使用TRecord在對象列表中添加記錄,然後在完成後將其設置到父類TTableStore.FManyrecords中。在對象中刪除一個分類的TObjectList
我可以檢索列表和COUNT顯示相同數量的記錄,但它不會讓我檢索每個單獨的記錄。
問題是我無法訪問記錄過程/方法,甚至無法定義記錄的檢索。見的僞代碼的最後一行:
TRecord = class(TObject)
private
FDescription : Variant;
FDirectDeposit : Double;
public
function GetDescription : Variant;
function GetDirectDeposit : Double;
procedure SetDescription(Value: Variant; DoValidation: Boolean = True);
procedure SetDirect(Value: Double; DoValidation: Boolean = True);
end;
TTableStore = class(TObject)
private
FManyRecords : TObjectList ;
FTitle2 : Variant;
FNormalEarn : Double;
public
function GetTitle2 : String;
function GetNormalEarn : Double;
function GetManyRecords: TObjectList;
procedure SetManyRecords(Value: TObjectList; DoValidation: Boolean = True);
procedure SetTitle2(Value: String; DoValidation: Boolean = True);
procedure SetNormalEarn(Value: Double; DoValidation: Boolean = True);
end;
private
FReportObj : TTableStore;
FRecord: TRecord;
objectListTemp: TObjectList;
implementation
objectListTemp := TObjectList.Create(false);
FRecord := TRecord.create;
Frecord.SetDescription…
Frecord.SetDirect…
objectListTemp.add(FRecord);
//next...
//(get next record… until eof.)
finally
FReportObj.SetManyRecords(objectListTemp);
//===================== Retreival
FReportObj : TTableStore;
fListOfRecords : TObjectList;
FCurrentRecord : TRecord;
fListOfRecords := fReportObj.GetManyRecords;
fListOfRecords.count // (is ok)
FCurrentRecord := fListOfRecords.Items[1] // ?????????
的錯誤是TObjList <> TRecord。我是Delphi新手,所以這可能很簡單。我錯過了什麼或不理解?謝謝。
您正在使用XE2;泛型可用。你應該考慮使用'TObjectList',這會讓你的生活更輕鬆。 –
不僅應該使用泛型,而且要命名類TRecord –
TRecord僅適用於Stackoverflow。名字被改變以保護無辜者。 –