Witam
Zalozmy ze sa 2 formy. W form1 w public jest procedura
procedure test();
begin
//cokolwiek
end;
Jak wywolac ta procedure z kodu form2?
Witam
Zalozmy ze sa 2 formy. W form1 w public jest procedura
procedure test();
begin
//cokolwiek
end;
Jak wywolac ta procedure z kodu form2?
:|
uses Form1;
w np. w OnClick
Form1.Procedura(prametry)
procedura parametrow nie ma, jest dokladnie taka:
procedure test();
begin
rvproject1.execute;
end;
a gdy na drugiej formie wpisuje kod
form1.test;
to wywala blad :(
Dziwie sie, bo na tyle procedur co napisalem ta dopiero nie dziala, bylem pewien ze form1.procedura; bedzie dobrze a tu niespodzianka :|
Jaki błąd?.. Napisz po prostu:
test;
i wszystko...
;-( ;-( UNDECLARED IDENTIFIER 'TEST'</b>
ehh.........
w implementation drugiej formy daj:
uses Unit1; // unti pierwszej formy
i potem 2 razy na button kliknij i wpisz:
Form1.nazwa_procedury;
A na pewno masz tę procedurę zadeklarowaną w klasie TForm1? Bo na moje oko to ona (ta procedura, znaczy się) jest standalone, więc jej wywołanie nie powinno być "Form1.test(...)" tylko po prostu "test(..)". Oczywiście obowiązek "Uses Unit1" zostaje :)
No chyba ze przez późną porę coś przeoczyłem :)
do uses dodajesz nazwe unbitu form1, a w TForm1 linijke
procedure test(parametr : coś_tam);
do sekcji public
-> Spin
Nie musi, jeśli jego procedura nie korzysta z innych (na przykład prywatnych) właściwości TForm1. Jeśli natomiast tak zrobi, musi jeszcze zmienić w kodzie
procedure test(...);
begin
[...]
end;
na
procedure TForm1.Test(...);
begin
[...]
end;
</b>
Juz poszlo
w
public
procedure test(Sender: TObject);
implementation
procedure test(Sender: TObject);
begin
rvProject1.execute;
end;
natomiast w formie drugiej podalem
form1.test(Sender);