Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 66
1

Как создать процедуру массиву компонентов?

29.06.2013, 03:05. Показов 1082. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Обьявил массив компонентов
Delphi
1
browsers: array[0..1000] of tchromium;
У него есть процедура
Delphi
1
browsers[tabs1.ActiveTabIndex].OnTitleChanged
Как мне ее описать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2013, 03:05
Ответы с готовыми решениями:

Как использовать процедуру компонентов на форме.
Хочу использовать процедуру: procedure TForm1.Button4Click(Sender: TObject); Отдельно от...

Обращение к массиву компонентов
Здравствуйте. Пишу программу на Delphi, которая будет строить связи фотографий, но столкнулся с...

Привязка процедуры к динамическому массиву компонентов
Суть такая. У меня есть массив Timage. Racech:array of Timage; Я их создаю, задаю координаты,...

Создать процедуру, которая будет разделять строку (дата, месяц, год) на отдельные строки и создать обратную процедуру
Нужно создать процедуру, разделяющую ячейку на другие ячейки причем, число пробелов между словами...

10
angstrom
29.06.2013, 03:16 2
Описывай процедуру по правилам OnTitleChanged
Delphi
1
2
  procedure MyTitleChange(Sender: TObject; const browser: ICefBrowser;
      const title: ustring; out Result: Boolean);
и затем присваивай
Delphi
1
  browsers[tabs1.ActiveTabIndex].OnTitleChanged := MyTitleChange;
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 66
29.06.2013, 03:20  [ТС] 3
Спасибо, а как этой процедуре показать , что компоненты надо брать с формы form1?
пробовал Tform1.MytitleChanged - ему не нравится это
0
angstrom
29.06.2013, 03:48 4
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
  public
    { Public declarations }
    Browsers : array[0..1000] of TChromium;
 
    procedure MyTitleChange(Sender: TObject; const browser: ICefBrowser;
      const title: ustring; out Result: Boolean);
  end;
...
procedure TForm1.MyTitleChange(Sender: TObject; const browser: ICefBrowser;
      const title: ustring; out Result: Boolean);
begin
  // our code
end;
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 66
29.06.2013, 04:15  [ТС] 5
Delphi
1
2
3
4
5
6
procedure TForm1.MyTitleChange(Sender: TObject; const browser: ICefBrowser;
      const title: ustring; out Result: Boolean);
 begin
  Tabs1.Tabs.ActiveTab.Caption:=title;
  if result=true then browsers[tabs1.ActiveTabIndex].OnTitleChange:=MyTitleChange;
 end;
[dcc32 Error] MainWindow.pas(78): E2009 Incompatible types: 'Parameter lists differ'
0
angstrom
29.06.2013, 04:24 6
1. Ошибка не в написание процедуры, а где-то в вашем коде.
2. Как сюда попадёт вызов, если он первоначально не назначен.
Примерно так
Delphi
1
2
3
4
5
procedure TForm1.FormCreate(Sender: TObject);
begin
  Browsers[0] := TChromium.Create(Self);
  Browsers[0].OnTitleChange := MyTitleChange;
end;
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 66
29.06.2013, 04:46  [ТС] 7
Понял, получается нужно делать отдельный поток для OnTitleChange?
0
angstrom
29.06.2013, 14:24 8
Зачем, в MyTitleChange для выяснения кто вызвал можно опросить, к примеру, Tag компонента.
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 66
29.06.2013, 17:51  [ТС] 9
Цитата Сообщение от angstrom Посмотреть сообщение
, к примеру, Tag компонента.
Можно подробнее??
0
angstrom
29.06.2013, 17:57 10
Когда создаёшь
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  for I := 0 to XX do
  begin  
    Browsers[I] := TChromium.Create(Self);
    Browsers[I].Tag := I;
  end;
 
// в опросе
procedure TForm1.MyTitleChange(Sender: TObject; const browser: ICefBrowser;
      const title: ustring; out Result: Boolean);
begin
  case (Sender as TChromium).Tag of
    0 : ;// our code
    1 : ;// our code
...
    XX : ;// our code
  end;
end;
Заблокирован
29.06.2013, 18:10 11
О, тебе ещё не надоело...
0
29.06.2013, 18:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.06.2013, 18:10
Помогаю со студенческими работами здесь

Динамическое создание и обращение к массиву разнотипных компонентов
C# Создаю массив разных контролов (Чекбоксы, Комбобоксы, Поля с датой). public List<Control>...

Запрос по массиву в хранимую процедуру
Доброго времени суток Столкнулся с проблемой. В БД 2 таблицы: Кредиторы и Договора. Связь -...

Как создать массив компонентов?
Есть 3 picturebox, нужно создать массив из них) Кто нибудь знает, как это решается?

Как создать массив компонентов?
Подскажите, плз, как создать массив компонентов (например TSpeedButton) чтобы можно было обращаться...

Описать метод - процедуру Split1(A, na, B, nb, C, nc), формирующую по вещественному массиву A
9.Описать метод - процедуру Split1(A, na, B, nb, C, nc), формирующую по вещественному массиву A...

Как создать несколько одинаковых компонентов?
Здравствуйте! Как известно, в Delphi нельзя создать два компонента с одинаковыми именами. У меня...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru