Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.22;
Скачать: CL | DM;

Вниз

Поиск компонента и выяснение его свойств...   Найти похожие ветки 

 
Reset   (2005-12-13 16:29) [0]

Здравствуйте!
Имеется процедурка, ищущая открытые формы (приложение 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;


 
Jeer ©   (2005-12-13 16:31) [1]

В кладовку ?


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

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


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

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


 
Jeer ©   (2005-12-13 16:50) [4]

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


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

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


 
TStas ©   (2005-12-13 18:30) [6]

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


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

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


 
ANB ©   (2005-12-13 18:50) [8]


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

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


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

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


 
ANB ©   (2005-12-13 19:23) [10]


> Reset   (13.12.05 18:57) [9]

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


 
ANB ©   (2005-12-13 19:27) [11]

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


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


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

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


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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2006.01.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.045 c
2-1136670705
Igorioha
2006-01-08 00:51
2006.01.22
Объявление переменной


14-1135430256
AnD1
2005-12-24 16:17
2006.01.22
Передача парметров cgi-скрипту...


8-1122221174
rolex
2005-07-24 20:06
2006.01.22
Как подать на колонки звук определенной частоты???


14-1135506830
boriskb
2005-12-25 13:33
2006.01.22
Полностью согласен :)


2-1136467746
Piter
2006-01-05 16:29
2006.01.22
TStringList с сохранением в файл