Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Как определить свойство ProgramName в динамически созданном DataSet  [new]
m830
Member

Откуда: Москва, Россия
Сообщений: 51
На форму, вызываемую по горячей клавише, помещен ComboBox, в которой накачены имена Grid-ов формы, на которой была нажата эта горячая клавиша. Требуется определить свойство ProgramName от DataSet, связанного через DataSource с выбранным из ComboBox Grid-ом. DataSet определяется процедурой
[/SRC]
procedure TForm3.ListBox1Click(Sender: TObject);
Var
  AGrid :TDBGrid;
  ADataSet :TDataSet;
begin
  Edit5.Text:=ListBox1.Items[ListBox1.ItemIndex];
  AGrid:= Form2.FindComponent(Edit5.Text) as TDBGrid;
If AGrid<>Nil Then
  begin
    DBGrid1.DataSource:=AGrid.DataSource;
    ADataSet:=AGrid.DataSource.DataSet;
    Edit6.Text:=ADataSet.Name;
  end;
end;
[SRC delphi]
11 июн 19, 13:54    [21906705]     Ответить | Цитировать Сообщить модератору
 Re: Как определить свойство ProgramName в динамически созданном DataSet  [new]
DimaBr
Member

Откуда:
Сообщений: 11323
Предполагаю что не ProgramName а FormName
FormName := TComponent(Dataset).Name;
11 июн 19, 14:05    [21906727]     Ответить | Цитировать Сообщить модератору
 Re: Как определить свойство ProgramName в динамически созданном DataSet  [new]
DimaBr
Member

Откуда:
Сообщений: 11323
FormName := TComponent(Dataset.Owner).Name;
11 июн 19, 14:05    [21906729]     Ответить | Цитировать Сообщить модератору
 Re: Как определить свойство ProgramName в динамически созданном DataSet  [new]
m830
Member

Откуда: Москва, Россия
Сообщений: 51
DimaBr,

Компонент Text6 после выбора Grid-а из ComboBox1 показывает ADOStoredProc1. Это объект с формы Form2. У него есть свойство ProgramName, имеющее значение CatLst. Вот до него мне нужно достучаться из формы Form3, на которой и лежит ComboBox1
11 июн 19, 15:18    [21906795]     Ответить | Цитировать Сообщить модератору
 Re: Как определить свойство ProgramName в динамически созданном DataSet  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48607

m830
Это объект с формы Form2. У него есть свойство ProgramName, имеющее значение CatLst.

Нет такого свойства у TADOStoredProc. Есть ProcedureName. "Достучаться" точно так же как и
до любого другого: через точку (с предварительным приведением типа если необходимо).

Posted via ActualForum NNTP Server 1.5

11 июн 19, 16:26    [21906866]     Ответить | Цитировать Сообщить модератору
 Re: Как определить свойство ProgramName в динамически созданном DataSet  [new]
DimaBr
Member

Откуда:
Сообщений: 11323
if ADataset is TADOStoredProc then AName = TADOStoredProc(ADataset).ProcedureName; 
11 июн 19, 21:22    [21907057]     Ответить | Цитировать Сообщить модератору
 Re: Как определить свойство ProgramName в динамически созданном DataSet  [new]
m830
Member

Откуда: Москва, Россия
Сообщений: 51
DimaBr,

Спасибо, получилось
13 июн 19, 09:18    [21907673]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить