Форум: "Основная";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];
Внизограничить количество компонент на форме Найти похожие ветки
← →
Грифон (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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c