użycie funkcji public z ramki TFrame głównej formie

0

Witajcie,

Nie moge sobie poradzić jak użyć pewnej funkcji z sekcji public ramki Frame w innym miejscu programu.
Na przykład:

[Treść unit'a ramki Frame2]
...

type
  TFrame2 = class(TFrame)
  Memo1: TMemo;
  private
    { Private declarations }
  public
    procedure test;
  end;
....
procedure TFrame2.test;
begin
  memo1.lines.add('test');
end;

Oczywiście na ramce Frame2 jest wstawiony przykładowy memo1 i na nim ma sie wyswietlic napis ale wywolany przyciskiem na Form1. Wcześniej tez (w onShow) wywolany jest kod aby Frame2 pokazal sie na formie (i sie pokazuje)

procedure TForm1.FormShow(Sender: TObject);
var f:TFrame;
begin
  f:=TFrame2.Create(Form1);
  f.parent:=form1;
  f.Top:=70;
  f.Show;
end;

Teraz chciałbym na formie głównej Form1 użyć tej funkcji publicznej, czyli na przykład:

procedure TForm1.Button1Click(Sender: TObject);
var ramka:TFrame2;
begin
  ramka.test;
end;

..no i cokolwiek bym robił to wywala sie jakiś dziwny exeption, coś jakby nie tak obiekt podczepiony.
Dzieki za pomoc.

0
sahan napisał(a)

..no i cokolwiek bym robił to wywala sie jakiś dziwny exeption, coś jakby nie tak obiekt podczepiony.
Dzieki za pomoc.

może dla Ciebie dziwny, ale dla normalnego programisty zazwyczaj pomocny

procedure TForm1.Button1Click(Sender: TObject);
var ramka:TFrame2;
begin
  ramka.test;
end;

a skąd wziąłeś tutaj nagle ramka, jak przed chwilą widziałem to jako f

1 użytkowników online, w tym zalogowanych: 0, gości: 1