Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.038 c
14-1135615175
Mystic
2005-12-26 19:39
2006.01.22
Небольшой вопросик по Delphi


2-1136633982
_Sergey_
2006-01-07 14:39
2006.01.22
Создание элементов PopupMenu в Runtime + назначение событий.


14-1135577682
Ega23
2005-12-26 09:14
2006.01.22
Всем привет!


3-1132823454
thvfrjd
2005-11-24 12:10
2006.01.22
Подключение к БД


14-1135836098
Тульский
2005-12-29 09:01
2006.01.22
Очень смеялся





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский