2013-05-05 28 views
0

我想知道在運行時是否可以知道組件的類別。 例如,如果我有一個TLabel,那麼它就是Standard,這意味着組件TLabel位於Standard Tool Palette中。組件的類別

我需要檢查,如果該組件是我自己的作品之一,因爲我有很多新組件,我不想查了很多的IFS條件......

感謝

+0

如果你只需要區分你的組件,你可以在TComponent和你的創作之間插入一個類,並從它繼承** all **你的組件(這是一個很好的習慣,它允許你爲你的所有組件引入一些新的特性組件以後) – pf1957 2013-05-05 09:51:39

+0

所有的組件都應該實現一個接口(例如IMyOwnComponentInformation)來獲取一些信息(例如內部版本號,修訂版)或者僅僅用於識別目的 – 2013-05-05 10:18:19

+0

@pf不起作用。如果你想從TCustomEdit派生,或者TGraphicControl或TCustomListView,會發生什麼。 – 2013-05-05 12:01:39

回答

5

將組件安裝到工具選項板中的類別由對RegisterComponent的調用決定,RegisterComponent本身通常是註冊過程的一部分。此註冊過程在安裝設計時包時從IDE調用。

總之:在運行時沒有希望找到類別,因爲它沒有綁定到組件本身。相反,它是IDE的更多信息,因此只能在那裏處理。