![]() |
![]() ![]() ![]() ![]() |
|
Как динамически прочитать информацию о классеDelphi , Компоненты и Классы , КлассыАвтор: http://www.lmc-mediaagentur.de
procedure TForm1.FormCreate(Sender: TObject);
begin
{This only works for classes registered using RegisterClass}
RegisterClasses([TButton, TForm]);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
CRef: TPersistentClass;
PTI: PTypeInfo;
AControl: TControl;
begin
CRef := GetClass('TButton');
if CRef <> nil then
begin
AControl := TControl(TControlClass(CRef).Create(Self));
with AControl do
begin
Parent := Self;
Width := 50;
Height := 30;
end;
Inc(Id);
end
else
MessageDlg('No such class', mtWarning, [mbOk], 0);
end;
Here's the translation of the content into Russian: Код, предоставленный вами, является частью приложения на Delphi, написанного на языке Pascal. Он предназначен для динамического создания экземпляра класса Каждая секция выполняет следующее:
Если вы хотите динамически считать информацию о классе в Delphi, вы можете использовать различные классы из единицы
Это выведет 'TButton'.
Это выведет hexadecimal- представление таблицы методов для
Это выведет список имен свойств для класса Обратите внимание, что предоставленный код является Delphi-специфическим и может не работать в других диалектах Pascal или языках. Статья описывает способ динамически прочитать информацию о классе в Delphi с помощью процедуры GetClass и регистрации классов с помощью функции RegisterClasses. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||