Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 2D-программирование

2D-программирование Вопросы, касающиеся двумерного программирования

Ответ
 
Опции темы
Старый 21.05.2007, 13:26   #1
butcher
Оператор ЭВМ
 
Регистрация: 17.04.2007
Сообщений: 31
Написано 0 полезных сообщений
(для 0 пользователей)
CallDLL

Как мне выполнить функцию( mbn(Bnumb,Nnumb,MNnumb)
) из DLL спомощью CallDLL
(Offline)
 
Ответить с цитированием
Старый 21.05.2007, 16:52   #2
Черный крыс
 
Сообщений: n/a
Re: CallDLL

CallDLL - это атавизм вчерашнего дня.
Сейчас все функции Длл-ок декларируются в файле с расширением ".decls"
 
Ответить с цитированием
Старый 21.05.2007, 17:50   #3
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: CallDLL

params=createbank(12)
pokeint params,0,Bnumb
pokeint params,4,Nnumb
pokeint params,8,MNnumb
results=createbank(4)
CallDLL( "mydll","mbn",params,results )

чо то вроде етого.
PS:
CallDLL - это атавизм вчерашнего дня.
Сейчас все функции Длл-ок декларируются в файле с расширением ".decls"
(Offline)
 
Ответить с цитированием
Старый 21.05.2007, 18:40   #4
jimon
 
Сообщений: n/a
Re: CallDLL

Diablo1909
лол жжош адназначна
без нее нельзя зделать динамическую линковку dll ... а без нее собственно не зделаеш систему плагинов
 
Ответить с цитированием
Старый 21.05.2007, 21:35   #5
butcher
Оператор ЭВМ
 
Регистрация: 17.04.2007
Сообщений: 31
Написано 0 полезных сообщений
(для 0 пользователей)
Я проклянаю слово bank !!!
Читаю функцию:
params=CreateBank(8)
PokeFloat params,0,1.1
PokeFloat params,1,3.2
results=CreateBank(4)
result#=CallDLL( "System\systems.dll","Bmin",params,results ) ;--"cdecl"
И он мне такие цифры выдает(1.1*3.2 = 2133345.....)
(Offline)
 
Ответить с цитированием
Старый 21.05.2007, 21:58   #6
jimon
 
Сообщений: n/a
Re: CallDLL

butcher
может все правильно но ты выводиш указатель ?
 
Ответить с цитированием
Старый 21.05.2007, 22:00   #7
butcher
Оператор ЭВМ
 
Регистрация: 17.04.2007
Сообщений: 31
Написано 0 полезных сообщений
(для 0 пользователей)
Re: CallDLL

В смысле?:
может все правильно но ты выводиш указатель ?
(Offline)
 
Ответить с цитированием
Старый 21.05.2007, 22:43   #8
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: CallDLL

PeekFloat(results, 0)
(Offline)
 
Ответить с цитированием
Старый 22.05.2007, 01:06   #9
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: CallDLL

okeFloat params,0,1.1
PokeFloat params,1,3.2
я выделил цифры.
ето смещение в байтах от начала массива.
любой ребенок знает, что float имеет размер в 4 байта. поетому и отступ должен быть 4.
okeFloat params,0,1.1
PokeFloat params,4,3.2
так. ты переписывал первое свое число (а точнее три его младших байта)
(Offline)
 
Ответить с цитированием
Старый 22.05.2007, 19:20   #10
butcher
Оператор ЭВМ
 
Регистрация: 17.04.2007
Сообщений: 31
Написано 0 полезных сообщений
(для 0 пользователей)
Опечатался малек :
params=CreateBank(8)
PokeFloat params,0,1.1
PokeFloat params,4,3.2
results=CreateBank(4)
result#=CallDLL( "System\systems.dll","Bmin",params,results ) 
Я писал dll в Delphi вот:
library systems;
uses
  SysUtils,
  Classes;
{$R *.res}
function Bmin(num1,num2:integer):integer;  cdecl(stdcall);
begin
Result:=num2*num1;
end;
exports Bmin name 'Bmin' ;
begin
end.
Вроде все ок!!! В Game Maker все работает!!!
(Offline)
 
Ответить с цитированием
Старый 22.05.2007, 20:15   #11
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Re: CallDLL

Так ок или не ок?
Если не ок, то смотри пост 8:
Результат = PeekFloat(results, 0)
т.е. нужно еще из банка вывода вытащить результат.

Да кстати, если передаешь в функцию флоат, то и в длл обьяви параметры как флоат.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com