Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск компонента и выяснение его свойств... [D7, Win2k]


Reset ©   (2005-12-13 16:29:00) 

Здравствуйте!
Имеется процедурка, ищущая открытые формы (приложение MDI), ищет на них ActionList'ы и вытаскивае их содержимое:

 for I := 0 to Application.ComponentCount - 1 do    // Iterate
   begin
     //Ищим форму с ЭкшенЛистом
     Temp := Application.Components[i].FindComponent('ActionList');
     if temp <> nil then  //Нашли
       begin
         acTemp := Temp as TActionList;
         with dsObjects do
               begin
                 Append;
                 dsObjectsUSER_ID.AsInteger := USER_ID;
                 dsObjectsOBJECT_NAME.AsString := temp.Owner.Name;//Записываем Имя формы
                 dsObjectsDESCR.AsString := (temp.Owner as TForm).Caption;//А вот Caption нельзя извлечь
                 post;
                 Refresh;
                 last;
               end;    // with
         for j := 0 to acTemp.ActionCount - 1 do
           with dsActions do
             begin
               Append;
               dsActionsOBJECJ_ID.AsInteger := dsObjectsID.AsInteger;
               dsActionsACTION_NAME.AsString := acTemp.Actions[j].Name;//Записываем Имя Экшена
               dsActionsDESCR.AsString := (acTemp.Actions[j] as TAction).Caption;//Caption не виден;
               dsActionsVIEW_MODE.AsInteger := 1;
               post;
             end;    // with

       end;
   end;


Reset   (2005-12-15 11:31:00) [1]

Всем спасибо!
Зря только вас всех побеспокоил. Оказалось все дело в моей фатальной невнимательности...


Reset   (2005-12-14 19:28:00) [2]

Они говорят, что должно присваиваться значение Caption'а полям таблицы


evvcom   (2005-12-14 09:36:00) [3]


> тогда другой вопрос: почему Caption'ы не заносятся в таблицу?

А F7/F8 чего говорят?


ANB   (2005-12-13 19:27:00) [4]

Label1.Caption := TAction(ActionList1.Actions[0]).Caption;
Вот так у меня читает.


ANB   (2005-12-13 19:23:00) [5]


> Reset   (13.12.05 18:57) [9]

Хе. Так код компиляется ? Значит точно видно.


Reset   (2005-12-13 18:57:00) [6]

Странно...
тогда другой вопрос: почему Caption'ы не заносятся в таблицу?


ANB   (2005-12-13 18:50:00) [7]


>
> Reset   (13.12.05 18:36) [7]

Во первых - видно. Во вторых - убери with. Иногда зверски мешает.


Reset   (2005-12-13 18:36:00) [8]

даааа... "правильно заданный вопрос - половина ответа"...
Перебираются все экшены, в таблицу заносятся их имена (Name), но нужно еще чтоб и описание записывалось (Caption).
А в приведенном коде свойства "(temp.Owner as TForm).Caption" и "(acTemp.Actions[j] as TAction).Caption" недостуно... Мне их-то и надо выяснить


TStas   (2005-12-13 18:30:00) [9]

А вопрос в чем? Как просмотреть у формы Акшин лист? Или как ВСЕ капшины всех акшинов прочесть?


Reset   (2005-12-13 16:52:00) [10]

Кнопень случайно надавил... :)


Jeer   (2005-12-13 16:50:00) [11]

Так не було вопроса - решил, что достойно кладовки:))


Reset   (2005-12-13 16:39:00) [12]

Какую кладовку?


Reset   (2005-12-13 16:35:00) [13]

Проблема: нужен Caption найденных форм и Action'ов. Но (как я это понимаю) так как эти классы являются не какими-либо конкретными, а общими TCustomXXX, то этот самый Caption нельзя увидеть. Что делать? Какие приемы?


Jeer   (2005-12-13 16:31:00) [14]

В кладовку ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо