|
2 / 2 / 4
Регистрация: 19.05.2017
Сообщений: 95
|
||||||||||||||||
Создание ни на что не влияющего обьекта изменяет работу программы08.01.2020, 16:37. Показов 397. Ответов 4
У меня есть программа которая предполагаемо будет похожа на игровой движок. Скидывать весь код я не буду так как не думаю что он связан с моей проблемой, но если потребуется могу и его отправить.
Один из элеентов движка, а именно NovelText, который наследуется от Text, возвращает SDL_Texture с изображением текста который выводится побуквенно с небольшой задержкой. Самостоятельно класс работает как надо но когда его запихиваешь в поле другого класса, вместо нормального текста он возвращает странные символы. Я использую класс DebugScreen что бы посмотреть как выглядит какое-то изображение в определенном месте программы. Использовал я его в конце метода который занимается созданием тектсуры с текстом. Кусок метода из NovelText в первоначальном варианте:
Результатом было то что после создания обьекта DebugScreen текст в основном окне стал нормальным. Я закоментировал все что мог и выяснил что такой "еффект" получается только в том случае когда в классе DebugScreen создается указалатель на SDL_Window, при том никакие взаимодействия с самой текстурой проводить не нужно. В .cpp файле абсолютно весь код описывающий методы закоментирован.
Я не знаю как оно работает. Код всей программы относительно большой и читать его полностью никто не будет. Может у кого-то возникли предположения по поводу того почему код работает таким образом?
0
|
||||||||||||||||
| 08.01.2020, 16:37 | |
|
Ответы с готовыми решениями:
4
Создание программы, имитирующая работу лифта
Почему компонент не изменяет размеры (создание компонента) |
|
2 / 2 / 4
Регистрация: 19.05.2017
Сообщений: 95
|
||||||
| 08.01.2020, 17:41 [ТС] | ||||||
|
У меня не используются массивы, только вектора. И я не могу понять как освобождение памяти может быть связано с моей проблемой. Вся очистка основных элементов происходит в их деструкторах, а удаление дополнительных в моей программе не вызывается
Добавлено через 5 минут Дополнение: Как оказалось, даже такой вариант заставит программу работать как надо. C этого момента я вообще ничего не понимаю в этой жизни
0
|
||||||
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
|
|
| 08.01.2020, 17:55 | |
|
Staslend, скорее всего проблемы связаны с выходом из локальной области и разрушением какого-то локального объекта, при этом, видимо, очищается память, которая нужна в дальнейшем.
0
|
|
|
фрилансер
6444 / 5639 / 1128
Регистрация: 11.10.2019
Сообщений: 15,000
|
||
| 09.01.2020, 10:43 | ||
|
Если это установить сложно, можно попробовать использовать поле с типом "указатель". Затем в отладчике остановиться там, где указуемый объект ещё заведомо корректный, после чего поставить точку останова с триггером на изменение значения указателя. Когда триггер сработает, там раскрутить стек вызовов и посмотреть, кто там лазил
0
|
||
| 09.01.2020, 10:43 | |
|
Помогаю со студенческими работами здесь
5
Создание обьекта
Создание комплексного обьекта Не работает создание обьекта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|