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

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

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

Ответ
 
Опции темы
Старый 30.10.2007, 16:23   #16
avel
Бывалый
 
Аватар для avel
 
Регистрация: 12.10.2006
Сообщений: 737
Написано 131 полезных сообщений
(для 452 пользователей)
Re: DLL на Delphi для Blitz

2jimonэто я понимаю, не тупой. можно слегка поподробнее. какой там код прописать надо для передачи из длл?
(Offline)
 
Ответить с цитированием
Старый 30.10.2007, 18:29   #17
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: DLL на Delphi для Blitz

слух, avel, я так понял тебе просто спрятать надо ??
необезательно в dll правда ??

проще простого перевести сам файл картинки в data и читать оттуда инфо, а потом написать всего две строчки что бы сохранить дату в имейджбуфер(или в чё другое) !! мой Visual Blitz IDE делает это все сам !!
(Offline)
 
Ответить с цитированием
Старый 30.10.2007, 20:27   #18
jimon
 
Сообщений: n/a
Re: DLL на Delphi для Blitz

avel
ну, в dll делаешь функцию типа ReadImagePixel(img_id,x,y)
и ReadImageWidth(img_id) , ReadImageHeight(img_id)
с нее собсно передаешь пиксель в виде ARGB (int)
как прочитать пиксель из картинки в делфи - хз

в блице потом пишеш типа
width = ReadImageWidth(1)
height = ReadImageHeight(1)
img = CreateImage(width,height) ;вроде так :/

for x = 1 to width
for y = 1 to height
pixel = readimagepixel(1,x,y)
writepixel x,y,pixel ;вроде тоже так
next
next
вот и все
 
Ответить с цитированием
Старый 05.11.2007, 20:44   #19
reskator
AnyKey`щик
 
Регистрация: 04.09.2006
Сообщений: 19
Написано 0 полезных сообщений
(для 0 пользователей)
Re: DLL на Delphi для Blitz

Сообщение от Cyan
Вот так:
Library Имя_Библиотеки;
 
Uses SysUtils, Classes;
 
Function Имя_Функции1(Параметр1:Тип1, Параметр2:Тип2, ... ):Тип; StdCall;
Begin
    Result := Возвращаемый_Результат;
End;
 
Function Имя_Функции2(Параметр1:Тип1, Параметр2:Тип2, ... ); StdCall;
Begin
 
End;
 
Exports
    Имя_Функции1, Имя_Функции2, ...;
 
Begin
End.
И вместо типа String юзай тип PChar.


В Delphi 7 пишу
library DLL3;
uses
SysUtils,
Classes;
{$R *.res}
Function probe(a:integer; b:integer ):integer; StdCall;
Begin
Result := a+b;
End;
Function probe2(a:real; b:real ):real; StdCall;
Begin
Result := a+b;
End;
Exports
probe,probe2;
Begin
End.

перезапускаю Блиц - пишу :
Print Dll3probe (5,2)
Print Dll3probe2 (3.2,2.1)
WaitKey

ожидаю получить : 7 и 5.3
получаю : 7 и 3.6
С целым типом все ок.
А с вещественным не ок. понимаю что дело в предсавлении чисел - а что делать не понимаю!!!
(Offline)
 
Ответить с цитированием
Старый 18.04.2008, 17:00   #20
GomZik
Нуждающийся
 
Регистрация: 19.07.2007
Сообщений: 85
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: DLL на Delphi для Blitz

А как например запихать в DLL полное упровление сокетклиентом из вкладки в Internet для блица? А то уж очень меня не устраивает стандартная работа блицевской сети... DLL я никогда не писал, поэтому не ругайте если я чё не так сделал:
Создал проэкт DLL, впихнул форму, на форме компанент клиентсокет, и функция его запуска через Form1.ClientSocket1.... блиц яростно на меня выругался и я понял что это неправильно... А как правильно, если такое вобще возможно???
(Offline)
 
Ответить с цитированием
Старый 19.04.2008, 01:10   #21
-=SCiP=-
ПроЭктировщик
 
Аватар для -=SCiP=-
 
Регистрация: 23.09.2007
Сообщений: 126
Написано 11 полезных сообщений
(для 16 пользователей)
Ответ: DLL на Delphi для Blitz

GomZik Конечно не чего не получится так.
Придется все создовать через алгоритм.
Типа мини пример.

procedure TForm1.Button1Click(Sender: TObject);
var
OPDi:TOpenDialog;
begin
OPDi:=TOpenDialog.Create(nil);
if OPDi.Execute then
begin
//Твой код
end;
end;

Потобие такого попробуй!
Тока Обьяви Сокет компонента
TOpenDialog; << в место этого.
А так через форму новрятли что то получится!
Кстати в Функции обьявляй не String а PChar
(Offline)
 
Ответить с цитированием
Старый 21.04.2008, 03:09   #22
GomZik
Нуждающийся
 
Регистрация: 19.07.2007
Сообщений: 85
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: DLL на Delphi для Blitz

Крехтя пыхтя разобрался... Но тем не мение остались вопросы...
Пишу в делфи:
function OpenClient(ip:pchar;port:integer):pchar; stdcall;
begin
TCS:=TClientSocket.Create(nil);
TCS.Address:=ip;
TCS.Port:=port;
TCS.Active:=true;
result:=ip;
end;
function CloseClient():integer; stdcall;
begin
TCS.Active:=false;
result:=1;
end;
ну и всё прилагающее само собой...
Потом это всё в блиц, там пишу
OpenClient("192.168.141.13",32592)
WaitKey
CloseClient()
Сокет успешно открывается и конектица (с лога сервера) но после нажатия любой кнопки он выходит но как-то не правильно, и соответственно в логе пишется ошибка... Что не так?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Xors3D для Delphi 7 maxturbo Delphi 13 01.04.2010 11:57
Типы в Delphi giraf Delphi 4 18.12.2009 20:42
Megafon и Delphi Freez Delphi 17 17.11.2009 09:36
Установка -=Delphi=- pipns Delphi 8 11.03.2007 10:07
Delphi и Omega WaReZ_MEN Delphi 4 27.08.2006 12:28


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


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