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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2009, 15:23   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
Вопрос Ошибка несоответствия типов после подключения System и Classes

Пишу на API, появилась необходимость подключить System и Classes. Подключил, и компилятор стал ругаться нехорошими словами на эту строку:
Код:
{83}   UnRegisterClass('TAliusForm', hInst);{Удалил окно     }
{269}  RegisterClass(WinClass);                                 {Регистрация класса  }
Несоответствие типов
Цитата:
[Error] Alius.dpr(83): Incompatible types: 'TPersistentClass' and 'String'
[Error] Alius.dpr(269): Incompatible types: 'TPersistentClass' and 'tagWNDCLASSA'
Закомментировал модули - все компилируется.
Что делать в этом случае?

P.S. Модули мне нужны для TDateTime и TStringList
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 08.11.2009, 15:27   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Насколько я помню Систем всегда подключен и подключать его второй раз не надо.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 08.11.2009, 15:30   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Закомментировал только System (Classes оставил) ошибка та же.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 08.11.2009, 15:35   #4
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Цитата:
Если значение lpClassName является строкой, она определяет имя класса окна. Это имя класса должно быть зарегистрировано предыдущим вызовом функции RegisterClass . Регистрация системных глобальных классов, таких, как классы элементов управления, не может быть отменена.
Может это?
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 08.11.2009, 15:39   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Не, тут проблема ИМХО в какой то функе внутри Classes. Ведь без включения этого модуля все работает на ура.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 08.11.2009, 15:51   #6
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Если используешь метод RegisterClass(...); и при этом подключен модуль Classes - ошибку словишь 100%, вчера с этим столкнулся...
решилось так:
Код:
Windows.RegisterClass (WindowClass);
дело в том, что и в Classes и в System есть процедуры с одинаковыми именами... просто укажи конкретный модуль - всё решится
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 08.11.2009, 16:04   #7
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Спасибо тебе, добрый человече. Как то я не дотюкался сам
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 08.11.2009, 16:25   #8
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Ды не мне спасибо... Знакомому прогеру бывалому)) Сам вчера часа два бился, понять не мог)
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 26.11.2017, 05:46   #9
jungle
Пользователь
 
Аватар для jungle
 
Регистрация: 22.11.2008
Сообщений: 65
По умолчанию

Тема старая, но я сейчас тоже растерялся, поэтому для других напишу на всякий случай:

После подключения модуля Classes, регистрировать классы нужно функциями RegisterClassA(WindowClass) либо RegisterClassW(WindowClass).
jungle вне форума Ответить с цитированием
Старый 26.11.2017, 10:36   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В #6 - Windows.RegisterClass
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После подключения внутреннего кардридера перестали определяться дополнительные USB- порты vasek123 Компьютерное железо 1 10.08.2009 22:28
Ошибка в драйверах после подключения к TV Saladin Операционные системы общие вопросы 3 21.02.2009 21:28
Ошибка после подключения в инет V.N.Ermak Безопасность, Шифрование 3 27.12.2008 19:29
ошибка system.pas KiSH333 БД в Delphi 2 17.09.2008 16:24
После подключения dll комп зависает!!! Irat Помощь студентам 1 07.02.2008 21:18