Vc tem que ter uma variável/instância do tipo da Interface, mas tem que dar um Create com o tipo do Objeto. Seguindo o código do Elazar, veja: var Intf: IMinhaInterface; begin Intf := TMinhaClasse.Create; Intf.Color := clBlue; {...} end;
Vc tb pode definir a variável como um tipo de classe mas utilizar esta mesma varivel para passar como parâmetro, mas utilizando-a como interface... Vai depender do seu problema. -- Marcos Douglas ---- Mensagem Original ---- From: "Ricardo Lima Mariz" <[EMAIL PROTECTED]> To: delphi-br@yahoogrupos.com.br Sent: Seg, Agosto 28, 2006 12:08 pm Subject: Re: [delphi-br] Ajuda de vocês, trabalhando com pacotes. > Certo eu entendi como funiona, o problema é o seguinte, trabalho com pacotes > vou ter um pacote que vai ter a interface IMinhaInterface, e tenho outros > pacotes que vão implementar essa interface, agora como eu faço pra acessar um > Objeto qualquer conhecendo somente a interface que ele implementa. > > Exemplo > > Tenho a imterface IMinhaInterface, e tenho o objeto MeuObjeto que implementa > IMinhaInterface. > > Agora quero acessar um metodo do MeuOBjeto conhecendo somente > IMinhaInterface. > > Algo do tipo IMinhaInterga(UmObjetoQualquer).MetodoDaInterface; > > Entendeu? > ----- Original Message ----- > From: Elazar Dornelles Ceza > To: delphi-br@yahoogrupos.com.br > Sent: Monday, August 28, 2006 11:49 AM > Subject: RES: [delphi-br] Ajuda de vocês, trabalhando com pacotes. > > > Ricardo > > [***] > Pelo que vi acho a melhor opção utilizar interfaces, porem ocorre outro > problema. > > Como consigo acessar os metodos/propriedades de um objeto conhecendo > somente a inteface que o mesmo implementa. > [****] > > > Voce declara na Interface procedimentos/funções para ajustar/ler as > propriedades. > > Ex. > > > IMinhaInterface = Interface > function GetColor : TColor; > procedure SetColor( Value : Tcolor); > property Color : TColor read GetColor write Setcolor; > end; > > TMinhaClasse = class( TInterfacedObject, IMinhaInterface) > private > FColor : TColor; > protected > public > function GetColor : TColor; > procedure SetColor( Value : TColor); > end; > > { TMinhaClasse } > function TMinhaClasse.GetColor: TColor; > begin > Result := FColor; > end; > > procedure TMinhaClasse.SetColor(Value: Tcolor); > begin > FColor := Value; > end; > > > Atenc. > Elazar; > > > > _______________________________________________________ > Yahoo! Acesso Grátis - Internet rápida e grátis. Instale > o discador agora! > http://br.acesso.yahoo.com > > > [As partes desta mensagem que não continham texto foram removidas] > > -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html