![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Uses в DLL(как правильно подключить??)
Suffer © (2013-05-20 00:25:00)Написал Dll которая подключается к разным процессам, при этом создаетсЯ новая копия Dll в адресном пространстве процесса.
Внутри Dll использую объект класса TDCOMConnection, который описан в модуле Mconnect.pas
Проблема заключается в том что большинство процессов не от Delphi, а потому не знают её библиотек.
Подключаю так:
uses
MConnect in 'C:\Program Files (x86)\Borland\Delphi7\Source\VCL\Mconnect.pas';
Эффекта ноль, процесс говорит что не знает такого объекта.Подскажите как решить эту проблему? подключать всю иерархию библиотек Delphi как то несерьезно!!
Германн (2013-05-21 01:32:00) [1]
> Suffer (20.05.13 12:41) [4]
>
> >Что подключаешь?
> Модуль Mconnect.pas внутри DLL,
>
> >Куда подключаешь?
> к DLL
>
> >Зачем подключаешь?
> чтобы можно было там вручную прописать объект DCOMConnection
>
> >Какой процесс говорит , что "не знает такого объекта"?
> И как именно говорит?
> SetWindowsHookEx - WinAPI функция, которая сама занимается
> установкой ловушек, и для каждого процесса она создает копию
> Dll, которая указана в её параметрах. И помещает копию в
> адресное пространство процесса. Так вот в большинстве случаев
> в новой созданной копии DLL не работает только объект DCOMConnection,
> так как модуль MConnect.pas не подключен, или подключен
> не корректно, поэтому у меня и возник текущий вопрос!!!
>
>
Код DLL в студию. А то на твоих "пальцах" ничего понять не возможно.
asddas (2013-05-20 20:19:00) [2]Напишите для начала, что конкретно вам говорится в ошибке, можете привести дословно?
Suffer (2013-05-20 16:22:00) [3]ActiveX.pas
Suffer (2013-05-20 16:21:00) [4]не было, добавил, при этом так же сделал подключение модуля AcеiveX толку не дало...
icWasya (2013-05-20 14:38:00) [5]Ну для начала
Каждый поток, который работает с COM - должен вызывать CoInitialize в начале работы и CoUninitialize в конце - это есть?
Suffer (2013-05-20 12:42:00) [6]>Имхо задача узнать "чем заняты подчиненные" тебе пока не по плечу. Слишком >мало базовых знаний.
Мониторинг работает! не работает DCOM свзяь Клиент-DLL-Сервер
Suffer (2013-05-20 12:41:00) [7]>Что подключаешь?
Модуль Mconnect.pas внутри DLL,
>Куда подключаешь?
к DLL
>Зачем подключаешь?
чтобы можно было там вручную прописать объект DCOMConnection
>Какой процесс говорит , что "не знает такого объекта"? И как именно говорит?
SetWindowsHookEx - WinAPI функция, которая сама занимается установкой ловушек, и для каждого процесса она создает копию Dll, которая указана в её параметрах. И помещает копию в адресное пространство процесса. Так вот в большинстве случаев в новой созданной копии DLL не работает только объект DCOMConnection, так как модуль MConnect.pas не подключен, или подключен не корректно, поэтому у меня и возник текущий вопрос!!!
>Имхо задача узнать "чем заняты подчиненные" тебе пока не по плечу. Слишком >мало базовых знаний.
"Добрый Сок" (2013-05-20 11:36:00) [8]
> Написал Dll которая подключается к разным процессам, при
> этом создаетсЯ новая копия Dll в адресном пространстве процесса.
Вау, как это ТЫ так сделал? :)
> что большинство процессов не от Delphi
т.е. эти приложения(сервисы, ) не написаны на Delphi?
> процесс говорит что не знает такого объекта
Какой процесс так говорит?
Почитайте тут
http://www.delphikingdom.ru/asp/itemq.asp?mode=1&itemid=379
Германн (2013-05-20 02:01:00) [9]
> Подключаю так:
>
> uses
> MConnect in 'C:\Program Files (x86)\Borland\Delphi7\Source\VCL\Mconnect.
> pas';
>
Что подключаешь?
Куда подключаешь?
Зачем подключаешь?
Какой процесс говорит , что "не знает такого объекта"? И как именно говорит?
Имхо задача узнать "чем заняты подчиненные" тебе пока не по плечу. Слишком мало базовых знаний.
Плохиш (2013-05-20 00:50:00) [10]DLL - это отдельная сущность. И своими объектами она должна сама заниматься.