Chamar metodo de outra unit
Pessoal estou com dificuldade de utilizar uma procedure de uma unit em outra, alguem pode me ajudar. O meu codigo ta assim
Agora to tentando chamar ela pelo Form1 (Unit1), assim
Nao consigo utilizar, ja fiz de muitos jeitos, ja declarei a unit na uses, fiz de tudo, alguem pode me ajudar
unit Unit2; interface uses QStdCtrls; implementation type TTeste = class public procedure Mensagem(var Edit:TEdit); end; procedure TTeste.Mensagem(var Edit:TEdit); begin Edit.text:=´Mensagem de outra unit´; end; end.
Agora to tentando chamar ela pelo Form1 (Unit1), assim
procedure TForm1.Button1Click(Sender: TObject); var teste: TTeste; begin teste:=tteste.Create; teste.Mensagem(Edit1.Text); end;
Da erro [Error] Unit1.pas(32): Undeclared identifier: ´TTeste´
Nao consigo utilizar, ja fiz de muitos jeitos, ja declarei a unit na uses, fiz de tudo, alguem pode me ajudar
Peterks
Curtidas 0
Respostas
Vinicius2k
28/12/2004
Colega,
O seu type TTeste precisa estar na [b:e91d2ab0bc]interface[/b:e91d2ab0bc] da unit... types declarados na [b:e91d2ab0bc]implementation[/b:e91d2ab0bc] não são exportados para as demais units. E a Unit2 precisa estar na lista de uses da Unit1.
Espero ter ajudado...
T+
O seu type TTeste precisa estar na [b:e91d2ab0bc]interface[/b:e91d2ab0bc] da unit... types declarados na [b:e91d2ab0bc]implementation[/b:e91d2ab0bc] não são exportados para as demais units. E a Unit2 precisa estar na lista de uses da Unit1.
unit Unit2; interface uses QStdCtrls; type TTeste = class public procedure Mensagem(var Edit:TEdit); end; implementation procedure TTeste.Mensagem(var Edit:TEdit); begin Edit.text:=´Mensagem de outra unit´; end; end.
Espero ter ajudado...
T+
GOSTEI 0
Peterks
28/12/2004
Amigo valeu era isso mesmo :D
Muito Obrigado
Muito Obrigado
GOSTEI 0