| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Ошибка при включении Юнита в пакет |
| Автор: Artemon 26.7.2006, 15:02 |
| Я создал 2 компонента и они используют один и тоже вспомогательный класс. Когда я компилирую первый пакет все проходит как по маслу. Когда я компилирую второй пакет - выдается ошибка "cannot load package 'PClientDataTransfer'. It contains unit 'UnetThread', which also contained in package 'PServerDataTransfer' " Что делать? |
| Автор: Romikgy 26.7.2006, 15:10 |
| ошибка в 17 строке (с) |
| Автор: Artemon 26.7.2006, 16:56 |
| А код-то сдесь причем? Ведь ошибка идеологическая. Билдер говорит, что не могу спользовать класс повторно. И шибка выдается как отдельное окно. |
| Автор: Romikgy 26.7.2006, 17:05 |
компонент ты тоже идеологически писал? имхо где то есть повторное возюзывание чего то , а вот чего смотри сам код у тя PS это программный глюк |
| Автор: Artemon 26.7.2006, 17:09 | ||
В каждом include стоит проверка на "уже включение" |
| Автор: Artemon 26.7.2006, 19:38 |
| Создаю копию ЮНИТА, изменяю имя файла и все начинает работать. Вчем дело, что такое? Ведь это маразм хранить в разных файлах один и тот же код. |
| Автор: Romikgy 26.7.2006, 20:20 |
| не понял последнего поста? |
| Автор: Artemon 26.7.2006, 20:38 |
| Есть два компонента, которые используют один и тот же класс, который находится в одном ЮНИТЕ. Оба компонента компилируются без ошибок, но вот когда Я пытаюсь установить эти компоненты Builder пишет мне о том, что данный юнит нельзя использовать, т.к. он уже используется в другом компоненте. Что я делаю: Чоздаю копию файла в которм хранится к ласс и называю его другим именем и подключаю в один из компонентов и оба компонента нормально устанавливаются. |
| Автор: Romikgy 26.7.2006, 21:42 |
что есть это ? если это класс такой, в срр файле, то надо только хедеры его включать в оба компонента, .... как я сразу и говорил без кусков кода ходим вокруг да около |
| Автор: Artemon 27.7.2006, 12:40 |
| ЮНИТ - это связка двух файлов CPP + H (File->New->Other->Unit) Что никто никогда не использовал один и тотже ЮНИТ в разных компоненьтах. Ведь реально не работает. Добавлено @ 12:45 А на счет кусков кода - так не в этом дело. Просто попробуй создай два компонента с использованием одного юнита, попробуй установи их - и увидишь в чем дело. P.S. Юниты могут быть просто пустыми |
| Автор: Vyacheslav 27.7.2006, 17:51 |
| А зачем одно и тоже держать в двух package? Не проще отганизовать дело так, что бы один package использовал другой. Или вообще объединить все в одном package. А вообще довольно странная ситуация. Причем тут имя файла. Или Вы Ваш Unit как отдельный Package предварительно организовали |