![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Aleks26 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 12.3.2010 Репутация: нет Всего: нет |
Сегодня пробовал простейший пример из учебника и столкнулся с такой штукой: открываю новое приложение и после описания формы вставляю описания двух классов - родительского и дочернего
Потом в секции implementation пробую сделать реализацию этих процедур. Как только я нажимаю Ctrl-пробел, получаю ошибку "Unable to invoke Code Completion due to errors in source code". Раньше все было нормально, т.е. высвечивались описанные классы, переменные, свойства и пр. Что могло случиться не могу понять. Подскажите. |
|||
|
||||
DarkProg |
|
|||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 4 Всего: 19 |
Реализация всех методов класса делается нажатием Shift+Ctrl+C и у вас появляются в секции implementation все ваши процедуры и функции с пустыми телами(только нужно чтобы курсор стоял где-нить в описании класса)
Проект даже не компилируется у вас сейчас, и проблема в том что где-то грубая ошибка вроде отсутствующей точки с запятой или отсутствия end, begin или ещё что-то... в общем смотрите где и что не так написали. Либо полный код модуля в студию, возможно скачем в чём трабла. Это сообщение отредактировал(а) DarkProg - 7.6.2012, 22:41 -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." ![]() ![]() ![]() |
|||
|
||||
superVad |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 7 Всего: 15 |
А оно без virtual и override работать будет? |
||||
|
|||||
XperT |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 19.8.2006 Репутация: нет Всего: 4 |
Будет, но компилятор выдаст хинт, что-то типа переопределен родительский метод |
||||||
|
|||||||
Aleks26 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 12.3.2010 Репутация: нет Всего: нет |
Модуль выглядит так:
Причем, если я начинаю с реализации Button1Click, а потом реализую сначала Klass1.proc, а затем Klass2.proc, это сочетание клавиш работает. Работает оно и в ранее откомпилированных проектах. ![]() Но если я начинаю реализацию Klass1.proc, то сразу выскакивает эта ошибка ![]() |
||||
|
|||||
Aleks26 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 12.3.2010 Репутация: нет Всего: нет |
Еще немного уточню: если я оставляю описание лишь формы и родительского класса и обращаюсь к событию Button1Click, то там Ctrl-Space идет без проблем. Компилирую. Затем добавляю дочерний метод и проблем тоже никаких нет.
Стоит мне оставить форму и оба класса, то при обращении к событию Button1Click выдается вышеупомянутая ошибка. Не может ли быть каких-то проблем с совместимостью компилятора Delphi 7 и "семерки Windows"? ![]() |
|||
|
||||
Keeper89 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
Aleks26, тот код, который ты приводишь просто не скомпилируется - название классов при реализации вообще другое (без T). Кроме того, в самом первом курсе кода в первом сообщении лишняя ; в TKlass2.
Так что приводи, реально что есть. |
|||
|
||||
DarkProg |
|
||||||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 4 Всего: 19 |
Я вообще думал, что вы нам чисто условное тело классов показали показали... зачем вам такие классы, состоящие из одной процедуры? И как бы когда пишется наследник и предполагается, что функции будут иметь одинаковые имена, то у родителя метод виртуальный, а у наследника пишется override. В чём трабла не знаю, у меня XE и вот такой код без проблем скомпилировался и работает, и я уже давно реализацию функций не пишу через Ctrl+Пробел, т.к. быстрее через Shift+Ctrl+C, но если была бы ошибка, то я бы её полчил, вот код модуля который скомпилился и работает
Добавлено через 1 минуту и 8 секунд
ё-моё, а где же буковки T в именах? -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." ![]() ![]() ![]() |
||||||
|
|||||||
Aleks26 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 12.3.2010 Репутация: нет Всего: нет |
Да, это ошибка, но суть не в ней. Привожу пример, в котором все, что касается TKlass2 я закомментировал:
При попытке реализации TKlass1.proc или TForm1.Button1Click никаких проблем при нажатии Ctrl-Space нет. Я компилирую этот усеченный проект, а потом снимаю комментарии и приступаю к реализации TKlass2.proc. Проблем тоже никаких. Проблемы возникают, если я сразу сниму комментарии и попытаюсь реализовать Button1Click, TKlass1.proc или TKlass2.proc - я сразу получаю ошибку "Unable to invoke Code Completion due to errors in source code" ![]() |
||||
|
|||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
А это что такое? -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
Aleks26 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 12.3.2010 Репутация: нет Всего: нет |
Так отображается кирилица. ![]() |
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
А я не про кириллицу. А про процедуру без имени. -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
Keeper89 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
northener, у меня такое ощущение он код прям тут набирает, а не добавляет компилированный вариант из среды
![]() |
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
Откуда тогда кракозябры? ![]() -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
Keeper89 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
Ну эта часть видимо вставлена оттуда. Хотя надо было просто на русскую раскладку перейти перед копированием ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |