|
0 / 0 / 0
Регистрация: 29.07.2008
Сообщений: 7
|
|
Проблема с диалоговыми окнами29.07.2008, 18:56. Показов 2017. Ответов 11
Метки нет (Все метки)
Существует несколько диалоговых окон, они должны работать с одинаковым пользовательским набором классов...вот с этим проблема, как сделать видимыми их для всех
include не робит - линковщик указывает, что уже есть описание, с помощью extern тож не получается никак
0
|
|
| 29.07.2008, 18:56 | |
|
Ответы с готовыми решениями:
11
Передача структуры между диалоговыми окнами (MFC) Работа с диалоговыми окнами Работа с диалоговыми окнами |
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 29.07.2008, 19:37 | |
|
Загнать в .h файл этот класс с описанием его. А потом подключать тем же #include.
0
|
|
|
0 / 0 / 0
Регистрация: 29.07.2008
Сообщений: 7
|
|
| 29.07.2008, 20:00 [ТС] | |
|
Я так и сделал...
вернее я не так выразился, проблема в том, что именно переменные там не хотят для всего объявляться, так как линковщик начинает на них ругаться вот примерно таким образом: TESTDlg.obj : error LNK2005: "class Building * tec" (?tec@@3PAVBuilding@@A) already defined in Build.obj TESTDlg.obj : error LNK2005: "struct VOLSs * linkv" (?linkv@@3PAUVOLSs@@A) already defined in Build.obj и тому подобное или я Extern не так юзаю, или вообще хз
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 29.07.2008, 20:10 | |
|
Вопрос в том, как выполнено описание класса? Сколько файлов? Все в хэадере или отдельно? И Что подключаешь в остальных файлах, чтобы юзать этот класс?
Не в экстерне дело. Скорее всего в том, что компилер встречает одноименную функцию с двух разных местах. Поэтому и не знает, какую именно брать. Надеюсь, Вы не .срр файл подключаете...
0
|
|
|
0 / 0 / 0
Регистрация: 29.07.2008
Сообщений: 7
|
|
| 29.07.2008, 20:12 [ТС] | |
|
Всё в одном хедере, всего 5 классов и 4 структуры..в этом файле так же объявлены глобальные переменные, необходимые для связи диалоговых окон, в других сппшниках просто инклужу и всё...линковщик ругается именно на глоб переменные
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 29.07.2008, 20:20 | |
|
Хм. Тогда глянь, не идет ли у тебя нигде в модулях по кольцевому подключению либ. К примеру в файле 2 подключается файл 1, а файл 3 подключает файл 2 и файл 1 вместе.
А вообще это на гадание по кофейной гуще похоже... Раз уж это VC++, то рекомендую определения классов выносить в .срр
1
|
|
|
0 / 0 / 0
Регистрация: 29.07.2008
Сообщений: 7
|
|
| 29.07.2008, 21:00 [ТС] | |
|
Кольца нету, на сколько я знаю и посмотрел...кстати, попробовал убрать глобальные переменные, тогда компилится, но я всё равно ни классы ни структуры не могу использовать в других сппшниках диалоговых окон, хоть и подключаю хедер..кароче где-то я явно туплю)
0
|
|
|
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
|
|
| 29.07.2008, 21:52 | |
|
вы "#pragma once " использовали в заголовочных файлах?
1
|
|
|
0 / 0 / 0
Регистрация: 29.07.2008
Сообщений: 7
|
|
| 30.07.2008, 08:20 [ТС] | |
|
^%@#а мать, а=)по привычке указал и забыл совсем....спасибо)робит всё
Странно ток, как он тогда раньше ругался на повторения...=)но робит и пофиг=) Добавлено через 10 часов 3 минуты Ну да, классы заработали...а глобальные переменные как не хотели работать, так и не хотят... Описания классов проходят, а даж "int n;" в итоге не проходит... Добавлено через 14 минут Всё, проблему решил... В итоге написал все глобальные перменные в головном модуле, а в файле написал их через extern - подключение везде работает, перменные видит, линкует нормально и работает всё! Теперь тема закрыта
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 30.07.2008, 15:05 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 29.07.2008
Сообщений: 7
|
|
| 31.07.2008, 08:43 [ТС] | |
|
А до было с точностью до наоборот с глобальными переменными=)
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 31.07.2008, 11:01 | |
|
мне все сразу сталоя ясно. Ладно. Замяли.
0
|
|
| 31.07.2008, 11:01 | |
|
Помогаю со студенческими работами здесь
12
Работа с диалоговыми окнами, Borland C++ 6 Разработка приложений с диалоговыми окнами Запуск процессов с диалоговыми окнами в службе подскадите, как пользоваться диалоговыми окнами? Ошибка открытия файла в приложении с диалоговыми окнами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|