![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Vello |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 15.7.2008 Репутация: нет Всего: нет |
Помогите согласовать типы в двух юнитах, первый - основной, где находиться основное тело калькулятора, второй - это юнит в котором описано функции расчета комплексных чисел. Как вы поняли разговоро пойдет о комплексных числах. В первом юните я создал тип запись, который включает две переменные типа double:
Во втором я создал идентичную запись:
В формулах я использую не на прямую переменную этого типа, а работаю с поинтером таким вот способом:
Но когда я пытаюсь вызвать эти формулы таким способом:
(Где Comp1, Comp2 - поинтеры на тип TComplex). Компилятор выбивает ошибку "[Error] MiniCalc1.pas(483): Incompatible types: 'MiniCalc1.TComplex' and 'ComplexRec.TComplex'". Вроде бы эти типы идентичны, но почему они не могут согласоваться? ![]() |
||||||||
|
|||||||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Потому что это разные типы.
В чём сокровенный смысл объявления двух типов, которые бинарно и функционально эквивалентны? Добавлено через 54 секунды Аналогия: стоит у дороги два дома, слева и справа. Дома идентичны, они шаблонные, построены по одному проекту. Но это же разные дома. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
Vello |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 15.7.2008 Репутация: нет Всего: нет |
Спасибо большое, это помогло разобраться в проблеме.
|
|||
|
||||
AntonN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.8.2006 Репутация: 3 Всего: 18 |
CodeMonkey,
проект ведь один, и планировка одинакова. Сокровенный смысл может быть простой - юниты разных разработчиков используемые в своем проекте, в которых описан одинаково тип. Может же быть такая ситуация? |
|||
|
||||
Vello |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 15.7.2008 Репутация: нет Всего: нет |
в общем я все обдумал и можно все сделать с помощью не типизированных поинтеров. Но я поступил проще я использовал тот тип, который описан во втором юните в первом, на этом ошибка себя исчерпала
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |