So permitir um componente em cada formulário

Delphi

16/11/2004

Galera, nao muito util

Mas como eu faço para que o componente soh possa existir um, em cada Form

Obrigado



:arrow: [color=red:23a33d9073]Título alterado pelo Moderador oTTo. Removido: ´1 componente ´.[/color:23a33d9073]
:idea: [color=blue:23a33d9073]Seja mais claro no título.[/color:23a33d9073]
:idea: [color=blue:23a33d9073][url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=16976]Saiba como obter resposta rápida..[/url][/color:23a33d9073]
:idea: [color=blue:23a33d9073]Leia sempre [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta.[/url][/color:23a33d9073]
:idea: [color=blue:23a33d9073]Use sempre o Link [url=http://delphiforum.icft.com.br/forum/search.php][img:23a33d9073]http://delphiforum.icft.com.br/forum/templates/subSilver/images/icon_mini_search.gif[/img:23a33d9073] Pesquisar[/url] no topo da Página.[/color:23a33d9073]


Tremonti

Tremonti

Curtidas 0

Respostas

Massuda

Massuda

16/11/2004

Imagino que você esteja desenvolvendo um componente. Nesse caso, teste no construtor se o Owner do seu componente já possui uma instancia do seu componente.
constructor TMeuComponente.Create(AOwner: TComponent);
  // ...
begin

  if AOwner <> nil and then begin
    for I := 0 to AOwner.ComponentCount - 1 do begin
      if AOwner.Components[I] is TMeuComponente then begin
        raise Exception.Create(´Só pode ter um TMeuComponente´);
      end;
    end;
  end
  else begin
    raise Exception.Create(´Precisa ter um Owner <> nil´);
  end;

  inherited Create(AOwner);

  // resto da sua inicialização
end;

Esse exemplo assume que não é permitido criar o componente sem ter um Owner válido.


GOSTEI 0
Tremonti

Tremonti

16/11/2004

Valew cara, funcionou certinhu

Brigadao Mesmo!!!


GOSTEI 0
POSTAR