|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.02.2010, 11:24 | #1 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 51
|
ProgressBar в dll
Мне необходимо написать функцию и поместить ее в dll, во время выполнения функции должна появляться форма с прогресбаром, который должен показывать на каком этапе выполнения находится функция.
Я сделал вот так: Код функции Код:
Код:
Но если много раз загружать функцию то выскакивает ошибка: Project Project1.exe raised exception class EAccess violation with message "Access violation at address 32665A01 in module CC3260MT.dll.Read address F8275580.Process stopped.Use step or run to continue. CPU Window показывает комнду cmp dword ptr [eax +ebx*4],0x00. При использование следующего кода ошибка выскакивает при i=45: Код:
|
03.02.2010, 16:07 | #2 |
Форумчанин
Регистрация: 03.01.2010
Сообщений: 229
|
А откуда взялся F->ProgressBar1? Попробуйте перед F->Free(); написать F->ProgressBar1->Free();
подпись
|
03.02.2010, 16:24 | #3 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 51
|
liljon, F->ProgressBar1 находится на форме.
Попробовал вариант с F->ProgressBar1->Free()- не помогло. |
03.02.2010, 16:38 | #4 |
Форумчанин
Регистрация: 03.01.2010
Сообщений: 229
|
что такое St в ups(0,0,&St)?
оба проекта в студию. Пологаю, что адресс выделеный памяти в приложении пытаеться освободиться в библиотеке, или наоброт.
подпись
Последний раз редактировалось liljon; 03.02.2010 в 16:42. |
04.02.2010, 10:30 | #5 |
Пользователь
Регистрация: 04.02.2010
Сообщений: 10
|
в справке насчет Free() написано, что нельзя ее применять в C++
необходимо delete |
04.02.2010, 10:46 | #6 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 51
|
Modigar,при замене F->Free() на delete [] F выдало ошибку Abnormal program termination.
liljon, St это структура в с входными данными для функции. Выкладываю проекты. |
04.02.2010, 10:48 | #7 |
Пользователь
Регистрация: 04.02.2010
Сообщений: 10
|
Код:
PSPS: если у дочернего компонента указан Owner тогда удалять его не обязательно, достаточно удалить родителя, родитель удалит все дочерние автоматом. Последний раз редактировалось Modigar; 04.02.2010 в 11:04. |
04.02.2010, 11:02 | #8 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 51
|
Modigar,сделал без скобок - выскакивает та же ошибка что и с Free.
|
04.02.2010, 11:11 | #9 |
Пользователь
Регистрация: 04.02.2010
Сообщений: 10
|
|
04.02.2010, 11:15 | #10 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 51
|
Modigar,а как отладчиком смотреть код dll из проекта загружающего dll?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при выхове функций Bass.dll из другой DLL | SalasAndriy | Общие вопросы Delphi | 7 | 21.10.2009 23:36 |
ProgressBar | Andrei Isaev | Общие вопросы Delphi | 1 | 20.11.2008 14:59 |
ProgressBar | Makarov | Компоненты Delphi | 3 | 04.02.2008 22:42 |
ProgressBar | pentiumForever | Компоненты Delphi | 2 | 07.09.2007 13:33 |