Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.27;
Скачать: CL | DM;

Вниз

ограничить количество компонент на форме   Найти похожие ветки 

 
Грифон ©   (2002-05-15 19:29) [0]

Подскажите как можно сделать, чтоб нельзя было разместить больше одного компонента на форме.


 
MBo ©   (2002-05-16 08:21) [1]

Если хочешь, чтобы сам компонент этого не давал, простой пример

TOneInst=class(TComponent)
constructor Create(AOwner:TComponent);override;
end;

constructor TOneInst.Create(AOwner: TComponent);
var i:integer;
begin
for i:=0 to AOwner.Componentcount-1 do
if AOwner.Components[i] is TOneInst then
raise EInvalidOp.CreateFmt("Only one allowed",[]);
inherited;
end;

procedure TForm1.Button1Click(Sender: TObject);
var oi:TOneInst;
begin
oi:=TOneInst.Create(Self);
end;


 
MBo ©   (2002-05-16 09:33) [2]

кроме того, можно сделать т.н. singleton, сделав в модуле компонента переменную, которая присваивается в конструкторе, а если не она не nil или счетчик=1, то не создавать объект, предусмотрев обнуление в деструкторе



Страницы: 1 вся ветка

Текущий архив: 2002.05.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
1-88408
Stexen
2002-05-16 23:45
2002.05.27
ZLIB ZLIB ZLIB ZLIB


3-88375
Hamster
2002-05-03 07:35
2002.05.27
как проверить наличие таблицы в базе ?


3-88381
Martyn
2002-05-01 13:41
2002.05.27
Вопрос по InterBase - TIBQuery против BDE+TQuery


3-88327
Vika2
2002-04-29 15:45
2002.05.27
Приложение Клиент - Сервер по технологии Midas


6-88583
Serd_hhc
2002-03-18 11:11
2002.05.27
Как сделать что-то похожее на TServerSocket с помощью WinSock ?