forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   FAQ (http://forum.boolean.name/forumdisplay.php?f=15)
-   -   Как подключить DLL-файл к b3d (http://forum.boolean.name/showthread.php?t=1798)

impersonalis 27.10.2006 21:43

Как подключить DLL-файл к b3d
 
Как подключить DLL-файл к b3d.
DLL - внешняя библиотека, позволяющая расширить функциональность b3d, в том числе, за счёт использования возможнотей языка/компилятора, на котором эта DLL была написана.
Однако, большинство начинающих (я в своё время) имеют проблемы с добавлением в свой проект такого рода библиотек.
Итак - абсолютное большинство бибилиотек на данное время интегрируется в среду b3d посредством *.DECL-файла, идущего в комплекте с самой библиотекой.
Порядок действий, по "установке" библиотеки:
1)скопируйте *.DECL-файл в папку $Blitz3D$\userlibs
2)скопируйте *.DLL-файл в папку $Blitz3D$\userlibs
3)не забудьте положить *.DLL-файл в папку с проектом.

Пример простейшего DECL:
Код:

.lib "B3dlib.dll"

DLLFunction%(a%):"_DLLFunction@4"

Это декл для библиотеки B3dlib.dll. В среду будет интегрирована функция DLLFunction%(a%).

jimon 27.10.2006 22:03

Re: Как подключить DLL-файл к b3d
 
возможный вопрос "а что делать если .decls файла нет ?"
значит надо поспрашивать на форуме о нем, или спросить у разработчика :)

impersonalis 27.10.2006 22:28

Re: Как подключить DLL-файл к b3d
 
Цитата:

Сообщение от jimon
возможный вопрос "а что делать если .decls файла нет ?"
значит надо поспрашивать на форуме о нем, или спросить у разработчика :)

Да. Есть ещё устаревший метод - работа с библиотекой через функцию CallDLL( dll_name$, proc_name$[,in_bank,out_bank] )
Цитата:

dll_name$ - name of dll
proc_name$ - name of procedure
in_bank (optional) - handle of bank that is made available from Blitz to DLL procedure
out_bank (optional) - handle of bank that is made available from DLL procedure to Blitz
В этом случае - достаточно "положить" DLL в папку проекта.

SAF 28.10.2006 01:31

Re: Как подключить DLL-файл к b3d
 
А как узнать какие функции записаны в DLL? :dontknow:

impersonalis 28.10.2006 01:36

Re: Как подключить DLL-файл к b3d
 
Вложений: 2
Часто советуют использовать вот эту тулзу (аттач см.)
Также можно воспользоваться программой DEPENDS из инструментария компилятора MSVC++ 6.0
Сущестуют (должны существовать!) и другие пути решения...

jimon 28.10.2006 13:01

Re: Как подключить DLL-файл к b3d
 
да вот собсно сама Depends :)

impersonalis 28.10.2006 19:52

Re: Как подключить DLL-файл к b3d
 
Цитата:

Сообщение от jimon
да вот собсно сама Depends :)

Это конечно, хорошо, что ты его вылил - но только в аттачах он уже всплывал. Мне вчера было лень искать...
http://www.boolean.name/showthread.php?t=722
А то уже даже Sub-а напряшает делать полный бэкап форума ТАКИХ размеров.

ЛысыЙ_Чук-Иванчук 28.10.2006 21:46

Re: Как подключить DLL-файл к b3d
 
А будет работать если взять из более серьезной игры.

jimon 28.10.2006 22:09

Re: Как подключить DLL-файл к b3d
 
всмысле ?

HolyDel 28.10.2006 22:45

Re: Как подключить DLL-файл к b3d
 
Цитата:

Сообщение от vlad
А будет работать если взять из более серьезной игры.

IMHO, проще свою накодить, чем в чужой разбираться.

jimon 29.10.2006 00:17

Re: Как подключить DLL-файл к b3d
 
HolyDel
ето не всегда правда :)
3д двиг или физ двиг лутче юзать готовый

HolyDel 29.10.2006 01:08

Re: Как подключить DLL-файл к b3d
 
Цитата:

Сообщение от jimon
HolyDel
ето не всегда правда :)
3д двиг или физ двиг лутче юзать готовый

Ето не правда, тогда, и только тогда когда либа готовая, с описанием или еще там чем, выдергивать либу с 3д двигом или физ двигом из готовой игры - это дело проффессионального хакера.
Ето все опять Imho.


Часовой пояс GMT +4, время: 09:12.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot