Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.08.2018, 08:46   #1
Fakov
Пользователь
 
Регистрация: 13.12.2009
Сообщений: 85
Восклицание Помогите разобраться с параметрами функции из dll

Всем привет.
Помогите разобраться с параметрами функции из dllки, есть очень невнятное описание к ним, не могу понять что не хватает.

Есть такая функция в DLL:

Код:
procedure BLP_LoadFromMemory(Image: Pointer; Mipmap: DWord; Data: Pointer; var Datasize: DWord); stdcall;
Описание к ней гласит так:
Image - указатель на блок данных исходного файла BLP;
Mipmap - номер изображения, которое необходимо загрузить (нумерация с 0);
Data - указатель на блок данных вида [BGRA][BGRA]...[BGRA] - выходной параметр;
Datasize - размер блока данных Data - выходной параметр.


Собственно я понимаю первые два параметра: в первом передаю в качестве pointer строковое значение нужного мне файла, во втором значении оставляю ноль, но как мне указывать оставшиеся два значения? Что для них нужно и как это объявить?
Fakov вне форума Ответить с цитированием
Старый 01.08.2018, 09:24   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Fakov Посмотреть сообщение
первом передаю в качестве pointer строковое значение нужного мне файла
Нет, не верно. нужно прочитать BLP файл в байтовый массив и передавать указатель на начало этого массива.

почитайте тут:
https://xgm.guru/forum/showthread.php?t=22624


Цитата:
Сообщение от Fakov Посмотреть сообщение
но как мне указывать оставшиеся два значения?
нужно выделить память и указатели на эту память передать в качестве 3-го и 4-го параметров.

(на форуме в качестве 3-го параметра используется структура RGBQUAD)
сколько под неё выделять памяти - не знаю.
можно попробовать выделить с большим запасом.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.08.2018, 09:31   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Load... загрузить...
По результатам работы Вам будет НУЖНО ЗНАТЬ
куда загрузили-то и сколько загрузили.

Этим и занимаются ВЫХОДНЫЕ параметры.
Они устанавливаются(если быть точнее меняются ТЕ переменные которые там указаны) внутри оной процедуры, чтобы Вы (ваша программа) знала... (см. выше)

Цитата:
Data - указатель на блок данных вида [BGRA][BGRA]...[BGRA] - выходной параметр;
Цитата:
procedure ...; Data: Pointer;....
эти ДВА описания на мой взгляд немного не соответствуют друг другу. возможно просто описка
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 01.08.2018, 11:28   #4
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

мутная библиотека...
не проще исходником?
https://github.com/Dennis1000/libblp
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 01.08.2018, 11:52   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Slym Посмотреть сообщение
не проще исходником?
https://github.com/Dennis1000/libblp
боюсь, что под Delphi 7 возникнут проблемы с этим исходником.
или я заблуждаюсь?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.08.2018, 17:19   #6
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

pos('Delphi 7',CurrentTopic)=0
Эй, насяльника! Какая середа насяльника?
джамшутама дженерики пользовать можанама?
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 01.08.2018, 17:25   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Slym Посмотреть сообщение
pos('Delphi 7',CurrentTopic)=0
считайте, что у меня инсайдерская информация есть.


Цитата:
Сообщение от Slym Посмотреть сообщение
Эй, насяльника! Какая середа насяльника?
Цитата:
Сообщение от Fakov Посмотреть сообщение
У меня делфи7, файл с которым работать дам, на выходе нужна простая из двух кнопок программа, с выбором и открытием файла, и второй кнопкой патчинг грубо говоря.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.08.2018, 11:53   #8
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,755
По умолчанию

Хе-хе-хе, тема для развлекательного программистского стрима. Если до 9 августа сам не разберешься, стучись.
Vapaamies вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DuplicateHandle помогите разобраться с параметрами firstoxe Общие вопросы Delphi 6 02.04.2018 21:31
Panel из DLL(.SO) Ошибка. Помогите разобраться, Идея создать набор библиотек с виджетами kaneghost Lazarus, Free Pascal, CodeTyphon 1 26.08.2017 18:19
вызов метода с параметрами из Dll LISTAT C# (си шарп) 11 18.04.2013 11:26
Вызов из Delhpi функции из API-шки, сделанной в С++. Помогите разобраться Bobby Win Api 1 31.03.2009 18:54