PDA

Просмотр полной версии : снова mmc :)


Лехич
04.03.2007, 16:02
вообщем, решил я переходить на mmc :)
под это дело взял почитал спецификацию перл5, еще книжечек почитал... ну и решил писать конфиг. и столкнулся с такой проблемой: нужно мне вызвать функцию из dll. скачал я к своему active perl модуль win32::api (в стандартной поставке какого-то фига небыло), и ! даже написал нужную мне функцию. намутил package, написал в mmc.ini юзес его, запускаю, и вижу, что mmc ненаходит win32::api. Ну естественно, ведь в его InBuild'е его нет! зделал я папку win32 (в mmc), закинул туда api.pm и все, что ему нужно, запускаю... И теперь уже win32::api неможет найти win32::api::types. @INC содержит, естественно, только текущий каталог, в котором находится сам ммс. Пробую запускать mmc -i f:\mud\mmc\win32 - фиг. -i f:/mud/mmc/win32 - снова болт. -i /win32 (\win32, win32) тоже не катит.
Подскажите, как указать mmc, где еще модули искать, кроме текущего каталога?..

Раххаль
04.03.2007, 18:49
скачал я к своему active perl модуль win32::api (в стандартной поставке какого-то фига небыло)
А куда ты его скачал? Там был один файл? Если один, то, вероятно, у тебя нет win32::api::types, надо отдельно качать.
Вообще этот модуль нужно положить по идее туда, где установлен перл. И путь туда и прописать в @INC.
Кажется, так.

Лехич
04.03.2007, 19:13
да все у меня есть, я протестил прогу написал, все пашет. мне надо чтобы win32::api было в месте с ммс, тоесть чтобы это независило от того, на какой машине запускать клиент, с актив перлом или тока с ммс. так-что мне надо знать как именно указать ему (ммс), чтобы он искал модули в папке mmc\win32. все вышеприведеные мной методы не сработали, как указать в @inc нужный мне путь?
(ненадо только примеров, @INC = "путь" :)

Лехич
04.03.2007, 20:43
вот, подумал я и решил, что по аналогии,если win32::api оно находит в папке win32, то win32::api::types должно находить в win32\api :-) закинул туда нужные файлы, и вот что получил :(
-:- Loading {F:/mud/mmc/mmc.ini}...
-:- Loading CORE.pm from ./CORE.pm
-:- Loading Speech.pm from ./Speech.pm
-:- Loading win32/api.pm from ./win32/api.pm
-:- Loading Win32/API/Type.pm from ./Win32/API/Type.pm
-:- Loading builtin DynaLoader.pm
-:- Loading Win32/API/Struct.pm from ./Win32/API/Struct.pm
-:- Loading builtin Carp/Heavy.pm а -:- #perl: Can't locate loadable object for module Win32::API in @INC (@INC

contains: . F:/mud/mmc F:/mud/mmc) at main.c line 50 BEGIN failed--compilati
on aborted at ./Speech.pm line 3. BEGIN failed--compilation aborted at F:/mu
d/mmc/mmc.ini line 2.

... х.з. что с этим делать.
п.с. ещераз повторюсь, дело не в моем коде в модуле speech.pm, я его тестил не в окружении ммс.