我在 Delphi Firemonkey 中繼承 FMX.Calendar.Style 以便為 TCalendar 組件添加更多功能。我想添加“拖動選擇”多天(一天范圍)。我有一個粗略的作業原理證明。我將 FMX.Calendar.Style 中的 TStyledCalendar 子類化到另一個單元中。
為了提取選定的日期,我需要轉換為 TDayItem。問題是 TDayItem 型別在實作部分中定義,因此無法在具有新類的其他單元中訪問。
有沒有辦法訪問它?
unit FMX.Calendar.Style;
interface
{$SCOPEDENUMS ON}
uses
System.Classes, .., ..
type
{ TStyledCalendar }
TStyledCalendar = class(TStyledPresentation)
public const
CountOfVisibleDays = 6 * 7;
..
..
..
end;
implementation
uses
System.SysUtils, .. ..
type
TDayItem = class(TListBoxItem)
private
FDate: TDateTime;
public
property Date: TDateTime read FDate write FDate;
end;
..
..
uj5u.com熱心網友回復:
不幸的是,一個單元根本無法訪問在另一個單元的implementation部分中宣告的型別(或變數或常量)。interface只有在一個單元的部分中宣告的專案才能被其他單元訪問。一個單元的implementation部分只能由它所屬的單元訪問。
在這種情況下,您唯一能做的就是將宣告復制TDayItem到您自己的單元中,然后根據需要將 ListBox 專案型別轉換為該型別。然后檢查 FMXTDayItem在每個新版本/補丁中的更改宣告,以便您可以相應地更新您的代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/527487.html
標籤:德尔福日历火猴
