Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2012, 14:34   #1
The SCS
Пользователь
 
Регистрация: 15.01.2012
Сообщений: 98
По умолчанию Динамическое создание компонента и работа с ним

Есть готовый класс, при create которого создается вкладка с группой компонентов и событий к ним. В случайное время через сокет поступает команда и в событии на ее выполнение надо проверить: если вкладка, предназначенная для команды уже открыта, то передать ее туда, а если нет - открыть и передать.

как раз с выделенным возникли проблемы. я никак не могу понять как найти вкладку, костыль с циклом только добавил access violation..

P.S. класс имеет параметр, в котором содержит название команды.
The SCS вне форума Ответить с цитированием
Старый 02.08.2012, 15:17   #2
The SCS
Пользователь
 
Регистрация: 15.01.2012
Сообщений: 98
По умолчанию

Пробую так
Код:
procedure TfrmMain.IrcPrivMsg(Nickname, Ident, Mask,
  Content: String);
var
  Sheet, Fnd: TChannelSheet;
  i: integer;
begin

{    Fnd := TChannelSheet(FindComponent('Sheet'));
    if Fnd.Nickname = Nickname then
    begin
      Fnd.AddMessage(Decode(content));
      exit;
    end;  }
    if FindComponent('Sheet')<>nil then Messagebeep(0);
    
    for i := 0 to ComponentCount-1 do
      if Components[i] is TChannelSheet then
      MessageBeep(0);
        {if TChannelSheet(Components[i]).Nickname = nickname then begin
          Fnd := TChannelSheet(Components[i]);
          Fnd.AddMessage(Decode(Content));
          frmPm.Show;
          exit;
        end;  }



    Sheet := TChannelSheet.Create(frmPm.PageCtrl, frmPm.Icons, irc, Nickname, Nickname,
      frmPm.rv, frmPm.rve);
    Sheet.AddMessage(Decode(Content));

    frmpm.Show;
end;
но цикл вообще ничего не находит (бипа нету).
The SCS вне форума Ответить с цитированием
Старый 03.08.2012, 11:57   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
но цикл вообще ничего не находит (бипа нету).
ответ тот же что и здесь

ищешь на форме, а положил на PageControl
Цитата:
Sheet := TChannelSheet.Create(frmPm.PageCtrl ,
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое создание компонента Fynjy1 Компоненты Delphi 7 02.03.2011 16:50
создание файла и работа с ним(С++) Draips Помощь студентам 3 24.12.2010 19:28
Динамическое создание компонента из компонента)) Impuls1989 Компоненты Delphi 8 22.10.2009 00:08
Динамическое создание компонента проходит нормально, но WB.Navigate не выполняется. В чём проблема? AVer Работа с сетью в Delphi 1 02.10.2007 14:48