Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Perl (http://www.flasher.ru/forum/forumdisplay.php?f=21)
-   -   DirectDraw и Perl (http://www.flasher.ru/forum/showthread.php?t=50757)

JPEG 30.10.2003 23:44

DirectDraw и Perl
 
Есть ли у кого исходники, али модули для Perl, которые позволяют работать с DirectDraw.

Под винду, конечно :) .

JPEG 31.10.2003 00:47

Только не говорите мне, что это невозможно... :)

SPV 31.10.2003 12:01

DirectDraw из скриптового языка??? Зачем??? Объясни ситуацию, может подскажем другое решение.
А так - выход один (так как врядли кому-то в голову приходило так извращаться и можно найти хоть что-то готовое) - подключать библиотеку ddraw.dll и напрямую работать с её функциями.
ИМХО все-таки лучше написать нормальный ехе-шник и запускать его из перла...

JPEG-inst 31.10.2003 15:09

Тогда проще: как подключать dll`ку из пёрла? Респект! :)

Я пишу квест. Скриптовый язык будет, ес-но, Perl. Так проще поддерживать, ну и куча других плюсов. Скомпилил, закачал, все клепают вдоволь.

Вот в этом и маза: OpenSource.

Crazy 31.10.2003 17:56

Цитата:

Оригинал написал(а) JPEG-inst
Я пишу квест. Скриптовый язык будет, ес-но, Perl.
Если ЕСТЕСТВЕННО, то TCL, а не Perl. :) Далее: если ты говоришь о скриптовании квеста, то тебе нужен какой-нибудь Embedded Perl, а для такового, помнится, не загружают какие-то специальные DLL, а предоставляют доступ к функциям хост-приложения.

SPV 31.10.2003 18:52

Цитата:

Оригинал написал(а) JPEG-inst
Тогда проще: как подключать dll`ку из пёрла?
Самый простой способ - поставить библиотеку Win32::API и:
Код:

use Win32::API;

$GetDC = new Win32::API("user32.dll", "GetDC", [i], I);
$Ellipse = new Win32::API("Gdi32.dll", "Ellipse", [I, I, I, I, I], I);

$dc = $GetDC->Call(0);
$Ellipse->Call($dc, 0, 0, 100, 100);

Можно попробовать и напрямую через стандартный модуль DynaLoader подгрузить библиотеку, как-то так:
Код:

use DynaLoader;

$libref = DynaLoader::dl_load_file("my.dll", 0);
$symref = DynaLoader::dl_find_symbol($libref, "MyProc");
DynaLoader::dl_install_xsub("MyProc", $symref);
&MyProc();

Но наверняка попрут ошибки из-за несоответствия типов при передаче параметров... Лучше уж через первый вариант :)

ЗЫ Все равно извращение это! :)

JPEG 03.02.2004 01:31

Видимо я выбрал Embedded Perl, так как в exe впендюрил интерпретатор пёрла. И все действия пишу на сях, а пёрл токо вызывает свои функции.

JPEG 03.02.2004 01:32

Спасибо :) .


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.