Показать сообщение отдельно
  #5  
Старый 16.03.2015, 00:17
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Если я правильно понимаю, то задача стоит в открытии опр. таблицы в другой форме?

Тогда делаете так:
1) Создаёте новую форму.
2) В public ветке создаёте function с Именем ViewTable, которая будет принимать потомка TTable, который вы и будете через DataSource отображать в DBGrid

В сухом остатке:

Код:
procedure TFormMain.Button1Click(Sender: TObject);
begin
    with TFormBasicFunc.Create(Application) do
      try
        // ... не помню как деактивировать таблицу
        Table.TableName := 'имя таблицы';
        // ... не помню как активировать таблицу
        Execute(Table);
      finally
        Free;
      end;
end;

А Execute представляет из себя лишь:

Код:
public
    function TFormBasicFunc.Execute(aTable: TDataSet): boolean;

...

function TFormBasicFunc.Execute(aTable: TDataSet): boolean;
begin
  DataSourceTable.DataSet := aTable;
  // ... не помню как построить все колонки в DBGrid
  Result := ShowModal = mrOk;
end;

Таким образом вы ИЗ формы в Форму передаёте информацию через внутренние функции, пользуясь основными принципами ООП.
Ответить с цитированием