Глюк Со Скриптами В Ptokax Service/console |
Здравствуйте, гость ( Вход | Регистрация )
Глюк Со Скриптами В Ptokax Service/console |
29.3.2009, 23:34
Сообщение
#1
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Такой вот глюк:
После установки PtokaX как system service перестают нормально работать скрипты - некоторые вовсе не работают, некоторые работают, но не совсем полноценно. Если удалить службу, и запустить птоку как консольное приложение, всё работает нормально. Кто-нибудь с таким сталкивался? PS. Службу устанавливал стандартным способом Код PtokaX.exe -i ptokax __________________________________________________ Добавлено спустя некоторое время Код 1 23:00:39 PtokaX_c.exe:3552 CREATE C:\WINDOWS\system32\data\support.tbl Нет слов. Точнее есть, но все матерные. Это ж надо додуматься, блин, сохранять данные скриптов в system32 А вот ещё один шедевр: Код 1 23:18:42 PtokaX_c.exe:7076 CREATE C:\Documents and Settings\2\data\support.tbl PATH NOT FOUND В этом случае птока была запущена при помощи функции ShellExecute c атрибутом SW_HIDE.Видимо понятие "относительные пути" в новой птоке отсутствует, а есть только абсолютные, и плавающие. * мысленно пинает PPK ногой под зад * Тема исчерпана, вопросов больше не имею. |
|
|
29.3.2009, 23:39
Сообщение
#2
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Я так полагаю, что всё будет работать, если в скриптах писать так: Core.GetPtokaXPath() ?
Я правильно понял? |
|
|
30.3.2009, 0:04
Сообщение
#3
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Угу.
И если весь скрипт засунуть внутрь OnStartup() |
|
|
30.3.2009, 0:09
Сообщение
#4
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Ну не весь скрипт, а только те его части, которые требуют чтобы глобальные таблицы были определены.
В этом то и есть вся сила абсолютных путей - они всегда универсальны. |
|
|
30.3.2009, 0:23
Сообщение
#5
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Ну не весь скрипт, а только те его части, которые требуют чтобы глобальные таблицы были определены. В этом то и есть вся сила абсолютных путей - они всегда универсальны. Знаешь, я ничего не имею против абсолютных путей. Вот только вынуть бы функцию GetPtokaXPath() из таблицы Core. * ещё раз мысленно пинает PPK ногой под зад * |
|
|
30.3.2009, 0:36
Сообщение
#6
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Да уж... Это нововведение (инициализировать таблицу Core только при запущенном хабе) появилось в API2, ведь в API1 таблица frmHub инициализировалась даже при остановленном хабе, и метод frmHub:GetPtokaXLocation() прекрасно работал.
Хотя я догадываюсь с чем это всё связано... Видимо это связано с возможностью смены почти всех настроек хаба без его остановки |
|
|
30.3.2009, 0:54
Сообщение
#7
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Интересная мысля:
Код path = debug.getinfo(1).source:match("^@(.+\\).-$"):gsub("\\","/") Что ты об этом думаешь? |
|
|
30.3.2009, 1:14
Сообщение
#8
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Отличная вещь! Это универсальный метод определения абсолютного пути. Он даже не зависит от хаба и отслеживает путь не до файла ptokax.exe, а до самого запущенного скрипта
Хотя надо протестить на линуксе. Дума, что на линуксе надо писать так: Код path = debug.getinfo(1).source:match("^@(.+/).-$") Поэтому самым универсальным, наверное, будет такой код: Код path = debug.getinfo(1).source:match("^@(.+[/\\]).-$"):gsub('\\','/') В противном случае скрипты под линуксом будут работать неправильно
|
|
|
Похожие темы
|
Сейчас: 23.11.2024, 9:52 |