Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Дочерние окна


Автор: vorontsovilya 27.12.2009, 20:29
Здравствуйте, вопрос следующего характера, составляю прогу для просмотра базы данных, нужно открывать записи,  записей под таблицы, у под таблиц снова записи и т.д. по принципу 1С. Но есть ограничение хотелось бы это сделать двумя максимум тремя динамическими формами которые бы составлялись по настройкам. Может кто подскажет как такое можно реализовать?

Автор: vorontsovilya 27.12.2009, 20:56
отвечу на свой же вопрос, получилось немного сделать следующим образом: создал юнит поместил в него процедуры в теле которых было создание этих форм, соответственно в начале программы поместил в этот юнит названия форм, формы открываются, буду дальше тестировать как это работает. Может кто знает более красивый метод.

Автор: sCreator 27.12.2009, 23:09
Такой вариант устроит?
Код

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    procedure ListBox1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    class function ShowSubTab(aCaption: string {; другие настройки }): integer;
  end;

implementation

{$R *.dfm}



class function TForm1.ShowSubTab(aCaption: string {; другие настройки }): integer;
var
  form: TForm1;
begin
  form := Self.Create(Application);
  try
    form.Caption := aCaption;
    // другие настройки
    Result := form.ShowModal;
  finally
    form.Free;
  end;

end;

вызывать 
Код

TForm1.ShowSubTab('Таблица №1');

Автор: dvamaster 28.12.2009, 06:56
Код

TForm1 = class(TForm)
  ...
  constructor CreateDBView(AOwner: TComponent; AParams: ТипСодержащийПараметры);
end;
...
constructor TForm1.CreateDBView(AParams: ТипСодержащийПараметры);
begin
  inherited Create(AOwner);
  // инициализация формы по параметрам
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)