|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.07.2015, 08:30 | #1 |
Пользователь
Регистрация: 26.07.2015
Сообщений: 59
|
Вызов процедуры из процедуры
Имеется код:
Код:
Incompatible types: 'method pointer and regular procedure' Вроде как обе процедуры прописаны Код:
Последний раз редактировалось vipok72; 28.07.2015 в 08:59. |
28.07.2015, 08:54 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Пиши procedure TForm1.callback(const str: ustring); раз у тебя требует метод
I'm learning to live...
|
28.07.2015, 09:03 | #3 | |
Пользователь
Регистрация: 26.07.2015
Сообщений: 59
|
Цитата:
попробовал написать еще и Код:
|
|
28.07.2015, 09:38 | #4 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
существуют процедуры как процедуры (regular procedure)
и существуют процедуры-методы какого либо класса (method). Код:
Код:
Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 28.07.2015 в 09:45. |
|
28.07.2015, 09:57 | #5 | |
Пользователь
Регистрация: 26.07.2015
Сообщений: 59
|
Цитата:
Нужно под классом TForm1 создать еще один класс с названием Код:
Ничего не менять кроме того что внутри процедуры TForm1.Chromium1LoadEnd обращаться к callback как Form1.callback |
|
28.07.2015, 10:47 | #6 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
Цитата:
Код:
------------------------------------------------------------------ Теперь для передачи туда НАМ нужна та самая procedure CallBack(const str: string); НО!!! транслятор при разборе строки frame.GetSourceProc(callback); пытается понять что же это за чудо имя такое callback И "вспоминает" что раньше (ВЫШЕ ПО ТЕКСТУ) у него было Tform1 =class procedure Callback(const str: string); end; Вроде бы тоже самое, НО это METHOD а не REGULAR PROCEDURE. А других упоминаний такого имени callback ЕЩЕ(выше разбираемой строки) НЕ БЫЛО! решение Вар. 1. ПЕРЕНЕСТИ код Код:
и при получении следующей ошибки Цитата:
procedure Callback(const str: string); Вар 2. ПОСЛЕ описания TForm1 добавить ПРЕДВАРИТЕЛЬНОЕ (forward) объявление нашей процедуры Код:
переводу объявления из method в regular procedure Вар 3. Изменить объявление GetSourceProc, точнее тип ее параметра, чтобы туда передавать method.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 28.07.2015 в 10:54. |
||
28.07.2015, 11:43 | #7 |
Пользователь
Регистрация: 26.07.2015
Сообщений: 59
|
Спасибо за помощь!
Вариант 1 помог, очень благодарен вам |
28.07.2015, 11:50 | #8 |
Форумчанин
Регистрация: 30.06.2015
Сообщений: 353
|
Код:
Опоздал, ну да ладно. Последний раз редактировалось ResourceSpace; 28.07.2015 в 11:52. Причина: опоздал |
28.07.2015, 16:48 | #9 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
Цитата:
Изменить тип параметра GetSourceProc, так чтобы передавать method класса TForm1. Код:
программа — запись алгоритма на языке понятном транслятору
|
|
28.07.2015, 18:23 | #10 |
Участник клуба
Регистрация: 12.09.2012
Сообщений: 1,030
|
Там где ты передаешь процедуру в качестве параметра напиши это:
Код:
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вызов процедуры из процедуры | bilibian | Общие вопросы Delphi | 13 | 18.07.2014 15:31 |
C#, вызов процедуры | nikitaivanov | Помощь студентам | 2 | 30.03.2013 19:58 |
Вызов процедуры. | Leo20 | Общие вопросы Delphi | 11 | 23.11.2009 16:30 |
Вызов процедуры | igbizon | Общие вопросы Delphi | 5 | 02.09.2008 10:44 |
Вызов процедуры | Илья Кибель | Помощь студентам | 7 | 17.09.2007 19:43 |