Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.225.209.95] |
|
Сообщ.
#1
,
|
|
|
1. Есть компоненты при которых добавляя его на форму - в uses записывается не только модуль компонента, но ещё и другой. Как такое сделать?
2. Если я в property пропишу массив, то при введения значений в массиве типа MyRecord.Integer := 1; выводится ошибка. Как этого избежать. Заранее пасибо |
Сообщ.
#2
,
|
|
|
пишу попонятней:
Допустим новая форма: uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs Добавляем компонент TJvButton, появляются uses StdCtrls, JvButton; Как мне добавить к uses моего компонента (JvButton) ещё и StdCtrls, когда его на форму кину? 2 вопрос снимается - нашёл решение. |
Сообщ.
#3
,
|
|
|
Цитата n0wheremany @ Добавляем компонент TJvButton, появляются uses StdCtrls, JvButton; TJvButton – наследник класса TButton, который объявлен в StdCtrls. Как мне кажется, такие добавления делаются автоматически. На это вероятно влияет секция requires в пакетах, где указываются базовые пакеты, пакеты предков инсталлируемых компонентов. Во всяком случае не приходилось еще видеть кода, который бы вручную добавлял бы в uses модуля какие-то дополнительные модули. Наоборот, иногда такого добавления вообще не происходит. Например, модуль ActiveX автоматически не добавляется при написании обработчиков некоторых событий TWebBrowser, где используются специфоческие интерфейсы. |
Сообщ.
#4
,
|
|
|
В общем случае этим не стоит заниматься, единственная проблема возникает тогда, когда в событии компонента используется тип определённый в другом модуле. Тогда при генерации этого события (дважды кликнув в инспекторе) получаем ссылку на неопределённый тип. То есть необходимо вручную дописать модуль в секцию USES.
unit MyUnit1; type TMyType = integer; ........ unit MyUnit2; uses MyUnit1; type TMyEvent = procedure (AParam: TMyType) of object; TMyComponent = class(TComponent) private fMyEvent: TMyEvent; published property MyEvent: TMyEvent read fMyEvent write fMyEvent; end; |