Como ter somente um determinado componente por form?
Do fórum ClubeDelphi:
Como faço para que só possa existir um componente de determinado tipo em cada form?
Imaginando que esteja desenvolvendo um componente, pode-se testar no construtor do componente se o Owner do componente já possui uma instância do componente.
1 constructor TMeuComponente.Create(AOwner: TComponent); 2 var 3 I: Integer; 4 ... 5 begin 6 if AOwner <> nil and then begin 7 8 for I := 0 to AOwner.ComponentCount - 1 do begin 9 10 if AOwner.Components[I] is TMeuComponente then begin 11 12 raise Exception.Create('Só pode ter um TMeuComponente no form'); 13 end; 14 end; 15 end 16 else begin 17 18 raise Exception.Create('Precisa ter um Owner'); 19 end; 20 21 inherited Create(AOwner); 22 23 // resto da sua inicialização 24 ... 25 end;
Esse exemplo assume que não é permitido criar o componente sem ter um Owner válido.
Nenhum comentário:
Postar um comentário