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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2016, 19:27   #21
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
Сообщение от stlcrash Посмотреть сообщение
tBitmap.clear(); ругается, нет такого метода пишет.
tBitmap.free; есть, но он не помогает
Пардон, я сишник. В Дельфине "плаваю". Так, что всё возможно. Увы, не знаю. Но в API, Clear работает. Опять-же, прога сишная на плюсах.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 25.05.2016, 10:35   #22
stlcrash
Форумчанин
 
Регистрация: 04.07.2010
Сообщений: 131
По умолчанию

Что то не то скринит видимо. Я когда искал косяки в старой программе, выводил скрин в Timmage. ЧТоб визуально было понятно что "видит" програмка
stlcrash вне форума Ответить с цитированием
Старый 27.06.2016, 21:45   #23
stlcrash
Форумчанин
 
Регистрация: 04.07.2010
Сообщений: 131
По умолчанию

Решил проблему колхозным путем.
Создал 5 глобальных переменных.
Из вторичного потока меняю их.
В основном потоке методом OnIdle мониторю изменения переменных и делаю скриншот. затем переменным присваиваются значения по умолчанию и побочный поток продолжает работу с полученным из основного потока скриншотом.
Вложения
Тип файла: zip ТЕСТ.zip (63.3 Кб, 8 просмотров)
stlcrash вне форума Ответить с цитированием
Старый 02.07.2016, 03:59   #24
stlcrash
Форумчанин
 
Регистрация: 04.07.2010
Сообщений: 131
По умолчанию


Если запускать как в исходнике - отлично все работает.
Но если добавить на форму несколько AlphaCotnroll компонентов, кнопок, вкладок итд, то начинает вылетать ошибка при наведении курсора на кнопку запуска потока.
stlcrash вне форума Ответить с цитированием
Старый 02.07.2016, 10:21   #25
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Попытка обратиться к нулевому объекту. Теперь ищите что и где.
1) Смотрите стек вызовов.
2) Или дедовским способом дихотомией искать в какой части кода отваливается. Комментируешь разные части. Смотришь где падает, а где нет.
3) Лучше конечно если вы чутьё прокачаете. Что и где падает.

А вообще вам архитектуру надо менять. Кто создал объект тот и должен его уничтожать. Какая функция создала та и должна уничтожать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 02.07.2016, 17:48   #26
stlcrash
Форумчанин
 
Регистрация: 04.07.2010
Сообщений: 131
По умолчанию

Глюк вызывал компонент TsPageControl. Почему то не хочет он взаимодействовать с потоком.
Заменил на TPageControl и все заработало.
stlcrash вне форума Ответить с цитированием
Старый 02.07.2016, 22:31   #27
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Все компоненты VCL являются потоко небезопасными. Теперь глюк у вас будет в другом месте и в другое время.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 04.07.2016, 12:00   #28
stlcrash
Форумчанин
 
Регистрация: 04.07.2010
Сообщений: 131
По умолчанию

Теперь появилась First chance exception at $00674A5C. Exception class $C0000005 with message 'access violation at 0x00674a5c: read of address 0x00000038'. Process r2v2.exe (2612)

Почему при нажатии на кнопку Breake не перекидывает на строчку в которой произошла данная ошибка?
stlcrash вне форума Ответить с цитированием
Старый 07.07.2016, 11:56   #29
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Потому что без отладочной информации компилируете. Пересоберите проект с включенным use debug dcu's
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 08.07.2016, 01:48   #30
stlcrash
Форумчанин
 
Регистрация: 04.07.2010
Сообщений: 131
По умолчанию

В общем задача решена.
1) То что пытался засунуть в поток - сделал отдельным EXE файлом, который передает параметры в основной EXE файл с помощью SendMessage.

2) Удалил все повторяющиеся блоки процедур, заменив их по аналогии с любезно предоставленным пользователем Slym исходником

3) Вынес большинство часто повторяющихся процедур (которые были в таймерах) в отдельный поток.

Спасибо огромное всем кто помогал советами.
Отдельное спасибо Slym, Pavia, min@y™, BOGG ART, krapotkin
stlcrash вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос про оперативную память Lmt32 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 16.12.2015 21:32
Отображение файла в оперативную память rostik123 Win Api 1 06.11.2012 04:59
Отображение файла в оперативную память rostik123 Общие вопросы C/C++ 3 29.10.2012 20:02
Картинку в оперативную память MORPEH Мультимедиа в Delphi 1 12.03.2012 01:35
Как чистить оперативную память??? Altera Операционные системы общие вопросы 10 16.05.2008 14:52