Napravio sam Main i child formu.. pomocu sljedeceg koda otvaram zeljenu formu iz stringa (naziv forme)... zapeo sam u pozivanju/otvaranju tabsheeta iz naziva..to sam rijesio pomocu zadnjih if-ova.. ali bih volio to elegantnije rijesiti da radi parametarski ako me razumijete :) molim za pomoc...pozz
Code:
procedure tglavnaForma.otvoriProzor(nazivProzora:string;tab:integer);
var i:integer;
fc : TFormClass;
f : TForm;
begin
if jeLiOtvoren(nazivProzora)=false then
begin
fc := TFormClass(FindClass('T'+nazivProzora));
f := fc.Create(Self);
//f.Show;
application.ProcessMessages;
end;
showmessage(fc.ClassName);
for i := 0 to glavnaforma.MDIChildCount - 1 do
if glavnaforma.MDIChildren[i].Name = nazivProzora then
begin
if fc.ClassName='TsazetakForma' then TsazetakForma(glavnaforma.MDIChildren[i]).PageControl1.ActivePageIndex:=tab;
if fc.ClassName='TOpisProizvodaiUsluga' then TOpisProizvodaiUsluga(glavnaforma.MDIChildren[i]).PageControl1.ActivePageIndex:=tab;
end;
procedure tglavnaForma.otvoriProzor(nazivProzora:string;tab:integer);
var i:integer;
fc : TFormClass;
f : TForm;
begin
if jeLiOtvoren(nazivProzora)=false then
begin
fc := TFormClass(FindClass('T'+nazivProzora));
f := fc.Create(Self);
//f.Show;
application.ProcessMessages;
end;
showmessage(fc.ClassName);
for i := 0 to glavnaforma.MDIChildCount - 1 do
if glavnaforma.MDIChildren[i].Name = nazivProzora then
begin
if fc.ClassName='TsazetakForma' then TsazetakForma(glavnaforma.MDIChildren[i]).PageControl1.ActivePageIndex:=tab;
if fc.ClassName='TOpisProizvodaiUsluga' then TOpisProizvodaiUsluga(glavnaforma.MDIChildren[i]).PageControl1.ActivePageIndex:=tab;
end;
Potpis
Give me six hours to chop down a tree and I will spend the first four sharpening the axe.