我想以最小的努力將多個對象作爲一個參數傳遞。將多個對象作爲一個參數傳遞
我有一些類型
TOpenMode = [omNew, omEdit, omBrowse]
和步驟
procedure OpenForm(Form: TForm; ANewWindow: boolean = false;
Datasets: TUniDataSet; TableOpenMode: TOpenMode);
我想通過多個數據集。我可以做到沒有數組或創建新的對象?我怎樣才能讓他們成對通過[UniTable1, TOpenMode], [UniTable2, TOpenMode]
?
爲什麼你使用一個單獨的功能,而不是記錄構造的任何原因?只是好奇。 –
@Uwe我不喜歡用'TDataSetAndOpenMode.Create'語法。當你閱讀這些代碼時,你會認爲你需要在該對象上調用'Free'。對於通常是編譯器錯誤的記錄,因此您受到保護。但是,如果你恰巧是在'FreeAndNil'派,然後傳遞一個記錄'FreeAndNil'導致疼痛。例如看看'TRegEx'。您可以使用一個實例方法,可能名稱爲'Initialise'。但是這不允許問題中的函數調用語法。因此,一個幫手功能。 –
當然,我接受你的偏好。您仍然可以初始化一個靜態類函數(例如TStopWatch.StartNew)。我其實更喜歡那些記錄方法來將範圍保持在一起。這往往是品味的問題。 –