Вернуть указатель на компнент.. и правильно его использовать..

Тема в разделе "Delphi - Система", создана пользователем vital, 28 янв 2009.

  1. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Опустив предысторию скажу, что так уж вышло но к самому ЧАСТО используемому компоненту в программулине(вся работа в принципе с ним) мне после нек-й медитации приходится обращаться примерно так [codebox]((tabcontrol.tabs.objects[tabcontrol.tabindex] as TPANEL).controls[2] as TMEMO). что там мне нужно [/codebox] Естественно писать это тысячи раз в коде мне не улыбается.. Моя больная фантазия решила сделать так [codebox]function foo:pointer
    begin
    Result:=(tabcontrol.tabs.objects[tabcontrol.tabindex] as TPANEL).controls[2];
    end;
    [/codebox]
    И использовать так.. [codebox]TMemo(foo^).что там мне нужно[/codebox] А это, естественно не работает. Была ещё масса вариантов, но ни один так и не заработал.. Помогите - ((tabcontrol.tabs.objects[tabcontrol.tabindex] as TPANEL).controls[2] as TMEMO) - вот это как-нить укоротить..
     
  2. zubr

    zubr Гость

    В твоем случае надо делать TMemo(foo).что там мне нужно - и будет счастье.
     
  3. etc

    etc Гость

    И лучше это делать в самой функции, а еще лучше, раз ЧАСТО используемому компоненту, то сделать его открытым свойством (или закрытым, по обстановке).
     
  4. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Я так с самого начала и делал.. И получал извечный акцес виолейшн. Потом стал делать как написал выше.. И получил его же.. А потом как-то.. тупо пол-часа смотрел в код, понял почеу он происходит.. исправил.. спс.. работает.
    Так и сделал, спасибо за совет) Теперь все никак не нарадуюсь.
    ПС.
    Блин, мне дико не хватает опыта, все так элементарно оказалось..
     
  5. etc

    etc Гость

    Программирование, ваще не сложно, главное понять его, вникнуть в смысл происходящего, далее уже проще, конечно не без приколов, но это селяви.
     
Загрузка...

Поделиться этой страницей