我在窗體上有一個組件(a TPushEvents
)。我已經明確地從其中一個屬性中刪除了值(Provider
)。如何獲得組件的屬性以保持零?
我保存並將其檢入源代碼管理。我可以看到該屬性確實從fmx文件中刪除。這裏是進入樣子後,我空白的財產並保存表單:
object PushEvents1: TPushEvents
Left = 128
Top = 200
end
如果我關閉該項目並重新打開它,該場所被重新添加和重置爲它的默認值(它指出在第一個T*Provider
組件,它可以在窗體上找到 - 在我的情況下,一個TKinveyProvider
)。這使我在釋放模式下建造時會產生各種悲傷。這裏是進入樣子後,我重新打開該項目保存表單:
object PushEvents1: TPushEvents
Provider = KinveyProvider1
Left = 128
Top = 200
end
事實上保存它,我可以看到,財產已經回到了FMX文件。
設置在FormCreate
的財產,以nil
也是白搭,因爲TPushEvents
開始訪問FormCreate
前TKinveyProvider
被觸發。
當我重新加載項目時,我該如何保留TPushEvents.Provider
屬性nil
?
在我理想的世界中,我可以輸入一個常數,它可以讓它保留fmx文件中的屬性,但仍然表明它沒有指向任何東西。
創建「過程已加載;覆蓋;」並嘗試在調用繼承之後將其設置爲Loaded。 – FredS
來自FMX或您自己的/第三方的此物品?如果可能的話,這將是修復此組件的最佳解決方案。我對組件做了同樣的錯誤:在構造函數中設置了一些初始值,希望實際值能夠從文件中「加載」,但事實證明,只有顯式存儲在文件中的屬性纔會改變,所以構造函數必須將值設置爲默認值,'Delphi in a Nutshell'一書中描述了一個很好的方法,可以自動將所有屬性設置爲默認值。 –
@YuriyAfanasenkov簡短的故事是一個TPushEvent對象。所以它是從Embarcadero內置的,所以需要一些spelunking。我最大的希望是有一種方法可以在設計器視圖中硬編碼Nil作爲對象的參數。 – BIBD