Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отладка DLL [D6, 2000]


SpiderWho ©   (2008-10-16 12:28:00) 

Структура каталога

C:\1\master.exe
C:\1\plug\mydll.dll

master  загружает dll-ки из папки \plug

Мне нужно отладить mydll.dll

Копирую исходники в C:\1\plug
Запускаю проект под Delphi
Указываю в Run\Parametrs\Host application  ->>>  C:\1\master.exe

Запускаю, но тут проблема
приложение начинает считать своим рабочим каталогом C:\1\plug и фактически пытается искать плагин в C:\1\plug\plug  и естественно ничего не работает.

Не могу в настройках найти возможность (если она есть) указать Рабочий каталог приложения.


Сергей М.   (2008-10-16 13:48:00) [1]


> SpiderWho   (16.10.08 13:25) [7]


А Attach To Process для отладки никак не подойдет ?
Или хост-процесс сразу при старте грузит плагины, без вмешательства юзера ?


SpiderWho   (2008-10-16 13:25:00) [2]

На прямую через Browse выбрать не дает (фильтр выбора по .exe)

При указании руками .lnk - файла   при старте получаем :
 
 2.1 Date   : Thu, 16 Oct 2008 13:19:26 +0400
 2.2 Address: 005293BD
 2.3 Module : coreide60.bpl
 2.4 Type   : EDbkError
 2.5 Message: Unable to scan program's header: Запрос ReadProcessMemory или WriteProcessMemory был выполнен только частично.


Сергей М.   (2008-10-16 12:49:00) [3]


> нету в D6


Тады можно запускать через ярлык, а в ярлыке указать раб.директорию


Palladin   (2008-10-16 12:48:00) [4]

нету в D6...


Сергей М.   (2008-10-16 12:47:00) [5]


> Грузит не мое приложение
> Его исходник изменить проблематично


Проблематично ведь не означает невозможно ..

А кривизна там действительно налицо.


> Не могу в настройках найти возможность (если она есть) указать
> Рабочий каталог приложения


в D6 я не в курсе, но в D7 есть она есть - прямо там же, где указывается хост-аппликация, есть редактируемый комбобокс Working Directory


clickmaker   (2008-10-16 12:44:00) [6]

положи mydll.dll в папку C:\1\


SpiderWho   (2008-10-16 12:39:00) [7]

Грузит не мое приложение
Его исходник изменить проблематично ...
реализовано в виде:
procedure LoadPlugins;
var
SR: TSearchRec;
begin
if FindFirst('PLUG\*.DLL', faAnyFile, SR)<>0 then exit;
repeat
 C :=LoadLibrary(PChar('PLUG\'+SR.NAME));
 GetProcAddress (C,'TPTPluginProperties');
  ...
 end;
until FindNext (SR)<>0;
FindClose(SR);
end;


Сергей М.   (2008-10-16 12:30:00) [8]

Покажи как ты грузишь плагин ..


Наверх

Титульная страница Поиск, карта сайта Написать письмо