Ricardo; Marco Douglas;

[****]
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.

[****]


Isso ai.

Um acrescimo:

Voce poderia ter nos seus pacotes (não o principal) um procedimento do
tipo

Procedure CarregarModulo( Objeto : IMinhaInterface);

Ai a cada modulo carregado ou ao momento que achar necessário o pacote
utilizar dos procedimento da interface, voce chama este procedimento
passando como parametro o objeto instanciado, como mostra o douglas;


Ex..

  No pacote..
  
  {********}
  Procedure CarregarObjeto(Objeto : IMinhaInterface);
  
  Exports
    CarregarObjeto;

  Procedure CarregarObjeto(Objeto : IMinhaInterface);
  begin
    vObjeto := Objeto;
  end;


  {******
  quando for utilizar alguma coisa do objeto no pacote voce usa
   
  vObjeto.Color := clWhite //por exemplo.
  *******}
  

  {*****
  no principal, ou no exe voce cria o objeto como o dougas demostra e
depois 
  faz uma chamada ao procedimento CarregarObjeto dos pacotes passando o
mesmo como parametro,
  assim os pacotes 'podem' usar os procedimentos do objeto.

  Da pra usar o GetProccAddress pra pegar uma referencia ao procedimento
CarregaObjeto definido nos pacotes (como se usa com as dll´s)  
  ******}


                
_______________________________________________________ 
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale 
o discador agora! 
http://br.acesso.yahoo.com


-- 
<<<<< 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

 



Responder a