Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.026 c
2-1135880222
ezorcist
2005-12-29 21:17
2006.01.22
Запуск своего приложения с параметром


2-1135869231
dera
2005-12-29 18:13
2006.01.22
Как запустить прогу в Win98 как сервис?


14-1135470822
Yerlan Dossanov
2005-12-25 03:33
2006.01.22
Взаимодействие Delphi с ОС Unix


1-1135011895
bulk
2005-12-19 20:04
2006.01.22
заголовок формы


2-1136286264
Стелс
2006-01-03 14:04
2006.01.22
Помогите!!!!!!!!!!!!!




   Наверх