![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Как такое реализовать? Пример бы. Например, чтобы я нажимал на кнопку и появлялись компоненты. Например FDQuery или DataSource.
|
#2
|
|||
|
|||
![]() А также интересует их уничтожение.
|
#3
|
|||
|
|||
![]() Ну так и напиши код, который их будет создавать...
Код:
var FDQuery : TQuery; FDataSource : TDataSource; procedure TForm1.Button1Click(Sender : TObject); begin if not Assigned(FDQuery) Then FDQuery := TQuery.Create(Nil); if not Assigned(FDataSource) Then FDataSource := TDataSource.Create(Nil); end; procedure TForm1.Button2Click(Sender : TObject); begin if Assigned(FDQuery) Then FreeAndNil(FDQuery); if Assigned(FDataSource) Then FreeAndNil(FDataSource); end; |
#4
|
|||
|
|||
![]() Вот сразу проблемы.
Код:
var FDQuery : TQuery; FDataSource : TDataSource; Код:
var FDQuery : TQuery:=nil; FDataSource : TDataSource=nil; Далее. Код:
if Assigned(FDQuery) Then FreeAndNil(FDQuery); if Assigned(FDataSource) Then FreeAndNil(FDataSource); Код:
FreeAndNil(FDQuery); FreeAndNil(FDataSource); |
Этот пользователь сказал Спасибо icWasya за это полезное сообщение: | ||
gewasop (22.05.2015)
|
#5
|
||||
|
||||
![]() Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#6
|
|||
|
|||
![]() Попробовал. Получаю ошибку.
Когда делаю только... Код:
if not Assigned(TestQuery) Then TestQuery := TestQuery.Create(Nil); if not Assigned(TestDataSource) Then TestDataSource := TestDataSource.Create(Nil); Код:
var fcr_tb: Tfcr_tb; TestQuery : TFDQuery=nil; TestDataSource : TDataSource=nil; procedure Tfcr_tb.Button1Click(Sender: TObject); begin if not Assigned(TestQuery) Then TestQuery := TFDQuery.Create(Nil); if not Assigned(TestDataSource) Then TestDataSource := TDataSource.Create(Nil); TestQuery.Connection := fdm.FDConnection1; TestQuery.SQL.Add('SELECT * FROM MASTERS'); TestQuery.Active := True; TestDataSource.DataSet := TestQuery; DBGrid1.DataSource := TestDataSource; end; ![]() Последний раз редактировалось gewasop, 22.05.2015 в 13:38. |
#7
|
||||
|
||||
![]() Очень символично, разрушить объекты, а затем пытаться обратиться к ним.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#8
|
|||
|
|||
![]() Цитата:
Последний раз редактировалось gewasop, 22.05.2015 в 13:40. |
#9
|
||||
|
||||
![]() Ну и зачем тогда такой гемморой? Может сразу поместить их на форму?
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#10
|
|||
|
|||
![]() Цитата:
По нажатию на кнопку создаются компоненты FDQuery и DataSource. В компоненте FDQuery выполняется запрос на создание таблицы в БД, структура которой предварительно формируется. После создания таблицы изменяется запрос в компоненте FDQuery на 'SELECT * FROM TEST'. Далее FDQuery подключается к DataSource. Далее DBGrid и т.д. |
#11
|
|||
|
|||
![]() А не проще просто изменять запрос в существующих (созданных в Дизайн-тайм) компонентах? Или сделать создать формочку и потом создавать готовую форму со всеми компонентами и просто донастраивать ее на соотв. таблицу?
|