Só outra dica sobre interfaces:

Eu tive esse problema, caso vc coloque uma variável no private, public, etc, de 
um TForm, TDataModule, é necessário no Destroy atribuir NIL para a variável, se 
não fizer, podem ocorrer na finalização do sistema, será que é BUG?

Exemplo:


TForm1 = class(TForm)
  procedure Form1Create(Sender: TObject);
  procedure Form1Destroy(Sender: TObject);
private 
  FInt: IMyInterface;
end;

implementation

procedure TForm1.Form1Create(Sender: TObject);
begin
  Fint := MeuObjetoComAInterface;
end;

procedure TForm1.Form1Destroy(Sender: TObject);
begin
  FInt := nil; // evita dor de cabeças, apesar de parecer inútil
end;

  ----- Original Message ----- 
  From: Filipe Belchior 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Tuesday, August 15, 2006 6:08 PM
  Subject: [delphi-br] Re: Ponteiro de Interface?? [RESOLVIDO]


  blz galera, eis o acerto..


  PMinhaInterface = ^IMinhaInterface

  OutraInterface: IMinhaInterface

  OutraInterface := PMinhaInterface(ponteiro)^

  OutraInterface.UmMetodoDaInterface //CORRETO!



  ..valeu!! fica pra aprendizado!! []s



  --- Em delphi-br@yahoogrupos.com.br, "Filipe Belchior"
  <[EMAIL PROTECTED]> escreveu
  >
  > olá..
  > 
  > ..naum estou conseguindo utilizar um objeto, que passo
  > o "ponteiro da sua interface" por parametro, pois é,
  > seguinte..
  > 
  > 
  > IMinhaInterface = Interface
  > 
  > TMinhaClasse = class(TInterfacedObject, IMinhaInterface)
  > 
  > 
  > MinhaInterfaceImplementada: IMinhaClasse
  > 
  > MinhaInterfaceImplementada := TMinhaClasse.Create
  > 
  > 
  > procedure MeuMetodo( ponteiro: Cardinal )
  > 
  > 
  > MeuMetodo( @MinhaInterfaceImplementada )
  > 
  > OutraInterface: IMinhaInterface
  > 
  > OutraInterface := ponteiro^
  > 
  > OutraInterface.UmMetodoDaInterface //ERRO!
  > 
  > 
  > ..num sei se vcs entenderam, rs.. mas, agradeco quem puder ajudar.
  > 
  > ..mais uma coisa, vcs provavelmente irao perguntar o pq do parametro
  > como ponteiro.. desacoplamento.. por conta disso, eu naum mostrei
  > exatamente como faco a passagem de parametro, mas exemplifiquei
  > através do "MeuMetodo"
  > 
  > []s
  > 
  > FILIPE BELCHIOR
  >





   

[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

 



Reply via email to