Страница 1 из 1

Подключить свою dll к Галактике/support/vip

Добавлено: 02 авг 2005, 10:40
san
Как подлючить свою dll так, что бы она автоматически загружалась при
запуске галактики/support/vip. Что то вроде добавить loadlibrary(mydll) в существующую dll/exe, возможно еще какой-то еще способ.
Нужно для использования в конфигураторе. Объявление ф-ции библиотеки из vip неподходят.
Кто что знает?

Добавлено: 02 авг 2005, 11:15
Goblin
Свой рес, в нем описание функции , в какой DLL она , и этот рес в конфиге подключать

Добавлено: 02 авг 2005, 11:29
san
Goblin писал(а):Свой рес, в нем описание функции , в какой DLL она , и этот рес в конфиге подключать
Объявление ф-ции библиотеки из vip неподходят. Не будет видно из конфигуратора/вычислителя.

Добавлено: 23 авг 2005, 17:25
Maverick
тогда докомпилировать объявленные ф-ии в стандартный рес. в тот же extfun.res

Добавлено: 24 авг 2005, 11:25
san
Maverick писал(а):тогда докомпилировать объявленные ф-ии в стандартный рес. в тот же extfun.res
Тоже не вариант, ф-ции видно только в вип-программах, по ctrl-f4 ее не вычислить. Также можно проверить в "Отчет о системе", подключеная через рез длл туда не попадает.

Добавлено: 24 авг 2005, 13:10
Maverick
тогда остается одно - вычислить ресурсники, которые цепляются и саппортом и галкой и докомпилять в него.

Добавлено: 02 сен 2005, 18:12
san
Maverick писал(а):тогда остается одно - вычислить ресурсники, которые цепляются и саппортом и галкой и докомпилять в него.
Тоже не вариант, ф-ции видно только в вип-программах, по ctrl-f4 ее не вычислить. Также можно проверить в "Отчет о системе", подключеная через рез длл туда не попадает.

Добавлено: 22 сен 2005, 17:07
Screw
1. Пишем dll-ку.

2. Пишем файл с прототипами вида:

function XXX(тип, тип,..., var тип,...): тип; external 'имя dll-ки.dll';
procedure YYY(тип, тип,..., var тип,...); external 'имя dll-ки.dll';

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

3. Компилим этот файл в какой-нибудь ресурс.

4. Пишем код, использующий функции dll-ки.

5. Компилим этот код и подключаем при этом ранее собранный ресурс с прототипами функций.

Dll-ка будет подключаться динамически, в момент, когда будет произведена попытка загрузки интерфейса, использующего экспортируемые библиотекой функции. Написать стороннюю dll-ку так, чтобы она линковалась статически, невозможно по определению.

Добавлено: 23 сен 2005, 10:52
san
Вот этого и хочется:Написать стороннюю dll-ку так, чтобы она линковалась статически.

Добавлено: 23 сен 2005, 11:10
Maverick
Screw писал(а):1. Пишем dll-ку.

2. Пишем файл с прототипами вида:

function XXX(тип, тип,..., var тип,...): тип; external 'имя dll-ки.dll';
procedure YYY(тип, тип,..., var тип,...); external 'имя dll-ки.dll';

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

3. Компилим этот файл в какой-нибудь ресурс.

4. Пишем код, использующий функции dll-ки.

5. Компилим этот код и подключаем при этом ранее собранный ресурс с прототипами функций.

Dll-ка будет подключаться динамически, в момент, когда будет произведена попытка загрузки интерфейса, использующего экспортируемые библиотекой функции. Написать стороннюю dll-ку так, чтобы она линковалась статически, невозможно по определению.
Вау! Нас атакуют галактические монстры! ;-)

Добавлено: 23 сен 2005, 14:11
Screw
2san:
Вот этого и хочется:Написать стороннюю dll-ку так, чтобы она линковалась статически.
Это означает, что обращения к функциям твоей бибилиотеки должны быть встроены в код Галактики. Дальше всё просто: берем сырцы, правим их, компилим и наслаждаемся результатами титанического труда.