[Delphi] Klonowanie form i innych obiektów

0

Czy to w ogóle możliwe?

Potrzeba mi klonowania form, żeby stworzyć taką samą formę jak poprzednia, ale o innej nazwie np form2, jeśli tak to jak?
Mógłbym prosić o gotowy przykład? :-)

0

Napisz procedure, ktora tworzy dynamicznie komponety na nowych formach.
{hello}

0

Ja propobnowałbym coś takiego. Wyrzuć formę, którą będziesz klonował z AutoCreate, w private dopisz

Klony: array of TFormPrzodek;

Następnie stwórz przycisk z takim kodem:

SetLength(Klony,High(Klony)+2);
Klony[High(Klony)]:=TFormPrzodek.Create(Self);
Klony[High(Klony)].Show;

//w Formie-Przodku w zdarzeniu OnClose MUSISZ dać

Action:=caFree;

    • wymyślic jakieś usuwanie zniszczonego klona z tablicy, albo nie używać
  • do tego tablicy, ale wtedy jest problem z odwołaniem się do klonów

Teraz możesz klikać na buton na pierwszej formie i robić masę klonów :)

--
W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi.

0

zaluzmy ze klonujemy forme Form1 :)

var
KlonOkna: TForm1;
begin
KlonOkna := TForm1.Create(Self);
{tutaj mozemy ustawiac wlasciwosci formy np. Left,Top,Width,Height,Caption itd. }
KlonOkna.Caption := 'klon okna';
KlonOkna.Show;
end;
---=-=[ Delphi 3, 6 ]=-=-
-=-=-==[ LKS ]==-=-=-
-=[ [email protected] ]=-

0

Działa na pewno Application.CreateForm(Nazwa_klasy,nazwa_zmiennej);

np. jeśli klasą jest TForm1, to

Application.CreateForm(TForm1,Form1);
Application.CreateForm(TForm1,Klon_Form1);

Stworzy dwie takie same formatki.

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