Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как узнать при отладке имя отлаживаемого файла ? / 18 сообщений из 18, страница 1 из 1
18.04.2003, 09:05
    #32143754
A l e x
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
Всем здравствовать!

Поясняю вопрос. Например, отлаживаем MyBpl.bpl.
В коде HostApplication имеем:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
var
  ADebugFile: string;
...
if DebugHook<> 0  then begin
  ShowMessage('В отладчике');
  ...
  ShowMessage('Отлаживаемый файл: '+ADebugFile)
end else
  ShowMessage('Вне отдладчика');
Вместо точек надо получить значение в ADebugFile.

ЗЫ. Вариант ADebugFile:='MyBpl.bpl' не предлагать :-)
...
Рейтинг: 0 / 0
18.04.2003, 12:37
    #32143852
ZrenBy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
GetModuleFileName ?
...
Рейтинг: 0 / 0
18.04.2003, 13:59
    #32144000
A l e x
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
GetModuleFileName вернет имя по HMODULE,
а надо узнать имя файла который выделен жирным шрифтом в выпадающем списке кнопки Run из IDE
...
Рейтинг: 0 / 0
18.04.2003, 14:39
    #32144060
LexusR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
>>который выделен жирным шрифтом в выпадающем списке кнопки Run из IDE
так это имя исполняемого файла
Application.ExeName;
...
Рейтинг: 0 / 0
18.04.2003, 14:44
    #32144073
Ильшат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
2 LexusR

Ты знаешь, я так же подумал, когда эту строку прочитал, но что-то все-таки сомнение меня брало. Неужто так все просто. Видимо, правильно думал)))
...
Рейтинг: 0 / 0
18.04.2003, 15:02
    #32144101
A l e x
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
Уточняю.

Откройте проект *.dpk.
Если в ProjectGroup ProjectManager-а проект не один и не выделен жирным шрифтом, то щелкните по нему два раза или нажмите кнопку Activate.
В выпадающем меню кнопки старт вы увидите Диск:\...\*.bpl
Теперь этому пакету установите в меню Run\Parameters\HostApplication - MainApplication.exe.
В выпадающем меню кнопки старт так и останется Диск:\...\*.bpl

Вопрос: Как в MainApplication.exe ( во время отладки *.bpl ) узнать имя *.bpl, из под которого запущена отладка.

Если MainApplication.exe использует только одну bpl, смысл поиска естественно пропадает.
...
Рейтинг: 0 / 0
18.04.2003, 15:08
    #32144110
Ильшат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
Слушай, извини, конечно, но не могу придумать предметной области для данного вопроса. Короче, объясни мне дуралею, для чего все тебе это надо?
...
Рейтинг: 0 / 0
18.04.2003, 15:17
    #32144133
A l e x
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
Может самый большой дуралей здесь как раз я, но это для обхода при отладке бага (см. самое последнее сообщение, чтобы много не читать здесь или здесь
...
Рейтинг: 0 / 0
18.04.2003, 15:22
    #32144146
Ильшат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
Ты знаешь, все-таки это ты не обходишь баг - это ты его отодвигаешь подальше просто. То есть, как мне кажется, значит bpl-ка кривая и либо лезет туда, где еще ничего нет, или этого чего-то остается много. Или из циклика не выходит). Короче, моя думает bpl надо править, адназначща..
...
Рейтинг: 0 / 0
18.04.2003, 15:28
    #32144163
A l e x
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
2 Ильшат
Посмотри по второй ссылке, там ответ, что в 5-х Delphi это все нормально катит.
...
Рейтинг: 0 / 0
18.04.2003, 15:30
    #32144165
A l e x
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
Add-on
Там и главная форма практически пустая, а из bpl вообще все выброшено напрочь - пустой юнит.
...
Рейтинг: 0 / 0
18.04.2003, 15:45
    #32144196
Ильшат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
Ебтыть! И правда что. А что делать? Слушай, а ты делая активным главный проект, когда запускаешь. Вроде помогает..
...
Рейтинг: 0 / 0
18.04.2003, 16:02
    #32144221
A l e x
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
Дело в том, что работа ведется группой разработчиков. Я делаю эту главную форму, остальные будут плагины писать. Им на мой код глядеть недлячего и незачем. Им exe только будет даваться.
...
Рейтинг: 0 / 0
18.04.2003, 16:07
    #32144227
Ильшат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
Ну не знаю, пусть тогда свои гл. формы создают и там отлаживают. Жаль, что не помог:/
...
Рейтинг: 0 / 0
18.04.2003, 16:14
    #32144241
Ильшат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
Слушай, я тут попробовал. Суть проблемы в чем. Твоя прога выгружает bpl, а Делпхи после нашего клинического случая к ней обращается, а ее там не находит - вот отсюда, я думаю, и глюки (почему в первый раз все нормально - не спрашивай). Так вот, если ее не выгружать, то никаких зависаний. Так может ты им версию кинешь, где при закрытии формы все эти bpl-ки заново будут грузится))
...
Рейтинг: 0 / 0
18.04.2003, 16:41
    #32144281
A l e x
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
Я уже решил это дело так.
Проверяю в главной форме (см. 1 сообщение) DebugHook и чуть подправляю логику в программе:
Если вне отладки, то выгружаем bpl как и собирались когда последняя из открытых форм плагина закрывается.
Если в отладке, то все открытые bpl выгружаем только при полном выходе из программы.
Добавилось строк 7 в двух местах, что вроде некритично.
Все работает. :-) Хотя тепреь прога и не СrossPlatform, о чем постоянно услужливо напоминает компилятор, да мне откровенно на это на...(по выбору).

Subject-ом я хотел эту дополнительную логику распространить только на открытую в Delphi bpl. Да в общем-то и так все прекрасно. Хотя теоретически интересно.

Но вся эта бадяга мне стоила наверное неделю, пока я (отодвигать свои баги подальше я терпеть ненавижу) искал где же я объекты не очищаю или еще чего. Пока не свел к упомянутому простейшему варианту и понял, что дело не в проге, а в Delphi или ее компиляторе. (Если после 2-разовой нажатой кнопки, скомпилить bpl, выгрузить из IDE и загрузить в IDE главный проект и выполнить, то вылетает ошибка в dcc.dll).

Ильшату отдельное спасибо за параллельный тестинг.
...
Рейтинг: 0 / 0
18.04.2003, 16:44
    #32144284
A l e x
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
Если после клинического случая снова сделать LoadPackage, то ничего не меняется. Это я пробовал вчера. Руки не дошли проверить, что будет, если ограничиться:
LoadPackage
UnloadPackage
LoadPackage

Но что-то мне подсказывает, что уже вторая загрузка для него убийственна.
...
Рейтинг: 0 / 0
19.04.2003, 08:36
    #32144510
Ильшат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать при отладке имя отлаживаемого файла ?
Ты знаешь, но все-таки, у меня, если пакет оставить в памяти после выгрузки всей программы, Делпхи работает и не виснет. А почему у тебя не помогает - не знаю. Делпхи 7.0 Энт + Вин2000Про(СП2)
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как узнать при отладке имя отлаживаемого файла ? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]