ak utworzyć dymamiczną formatkę tj okno.
założenia:
Chcę by cały kod obsługi formatki/okna był w jednym pliku pas.
nie tworzę pliku *dfm . wszystkie własciwości obiektów bedą ustawiane jawnie w
oncreate lub konstruktorze ( przeniosę wszystkie obiekty z *dfm do pas)
formatkę będe wywoływał z innego modułu która będzie tworzyłą okno i zamykała je (free)
wywołanie formatki ( inny modól np tabele.pas)
dodaj_slownik (kod, Sender : Tobject ) ;
w module tworz. pas gdzie sa deklaracje formatki
interface
dodaj_slownik (kod, Sender : Tobject ) ;
implementation
{ klasa i deklaracja procedur niedostępna dla innych modułow )
type
TFormatka = class(TForm)
StaticText1: TStaticText;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
SQLQuery1: TSQLQuery;
MaskEdit1: TMaskEdit;
procedure BitBtn1Click(Sender: TObject);
public
constructor Create(AOwner: TComponent); override ;
end;
wreszcie funkcja dodaj_slownik (kod, Sender : Tobject ) ;
var
formatka : Tformatka ;
begin
formatka := Tformatka.create (self);
formatka.showmodal ;
formatka.free ;
end
Constructor TFormatka.Create (AOwner: TComponent);
begin
begin
showmessage ('w create ') ;
// inherited create (owner);
try
{
ustawienia wszystkich metod i wlasciwosci obiektow klasy tformatka
}
except
end ;
end ;
end ;
Problem :
podczas kompilacji wyskakuje komunikat Undeclared identifier: 'self' .jak wrzucę tworzenie formy w moduł wywołujący to self działa. Tylko że ja chcę by tworzenie odbywało się w module maciezrystym a nie innym . Przesyłam przeciez Tobject (sender).
Jak to rozwiązac .....??? Prosze o pomoc.