Об объектах glob и hash
Если вы хотите читать наш блог, то подпишитесь на RSS канал. Спасибо!
Сегодня расскажем немного про внутреннюю структуру плагина Potolook, а именно о глобальном объекте glob.
glob
Основное его предназначение – хранение глобальных переменных. Причем обращение к ним может происходить из шаблонов, внутренних скрипов, модулей и даже из приложений VBScript самого Microsoft Outlook.
Технически glob – это ссылка на объект Scripting.Dictionary. Более подробно про этот объект можно почитать также в MSDN. В плагине Potolook используется в основном присвоение и получение переменных:
glob(’VALUE_STRING’) = “Текстовая переменная”
glob(’Моё значение’) = 5*10
glob(’мой объект’) = new ActiveXObject(”Word.Application”)
а еще лучше так:
glob(’мой объект’) = func.CreateObject(”Word.Application”)
Как видно из примера, в glob могут храниться переменные любого типа, включая любые объекты и даже функции. Например, наиболее частые объекты для обращения к операционной системы, находятся в следующих переменных:
glob(”WScript.Shell”) = func.CreateObject(”WScript.Shell”);
glob(”Scripting.FileSystemObject”) = func.CreateObject(”Scripting.FileSystemObject”);
glob(”Microsoft.XMLDOM”) = func.CreateObject(”Microsoft.XMLDOM”);
glob(”RDOSession”) = func.CreateObject(”PotolookRDO.RDOSession”);
Теперь, для создания текстового файла не нужно каждый раз заново создавать и удалять объект Scripting.FileSystemObject, достаточно использовать glob(”Scripting.FileSystemObject”).
Общий принцип работы с glob:
// Присвоение переменной
glob(’моя переменная’) = 3.14;
… // любое количество кода
alert(’Число Пи=’+glob(’моя переменная’)); // вывод текстового сообщения на экран
Объект glob используется также для передачи параметров в события самого плагина Potolook. Имена таких переменных состоят из больших букв (см. скрипт default.js), например:
glob(’COOKIE’)
glob(”SENDER”)
glob(’INSPECTOR’)
Для использования объекта glob, следует использовать уникальные названия переменных, например с вашим уникальным префиксом.
hash
По сути объект hash – это такой же объект Scripting.Dictionary, только он используется в отдельных модулях плагина, например в модуле ui.js. Этот модуль предназначен для вывода на экран HTML форм. Объект hash предназначен для передачи и получения параметров в такие HTML формы.



объекты glob и hash @ 16 марта 2009 14:13
Большое спасибо за это разъяснение!
Но всё же кое что остается ещё не до конца понятно.
>> …обращение к ним может происходить из шаблонов, внутренних скрипов…
НО! синтаксис такой конструкции как — glob(’моя переменная’) = 3.14;, в скриптах JS вызывает ошибку — JS5003: Cannot assign to a function result. т.е. подобные действия воспринимаются, как попытка присвоить значение результату функции. Означает ли это, что glob и hash яляются методами, которые определены COM-объектом PosScr, и чтоб использовать их в своих в скриптах, необходимо прежде создавать объект object = new ActiveXObject(’PosScr.IeUI’);?
Другими словами: как именно эти ссылки должны вызывать объект Scripting.Dictionary и в когда их поведение не вызывает ошибок по ходу выполнения скрипта?
Спасибо!
Арина @ 31 марта 2009 12:10
А где сам плагин можно найти желательно последнюю версию?
Наталья @ 9 апреля 2009 18:47
glob(’мой объект’) = func.CreateObject(”Word.Application”) - не подходит, зависает(
Hog @ 1 июня 2009 14:54
О, спасибо =) разобралась со всем!
Дмитрий @ 3 июня 2009 4:18
Блог умер? Одна статья в полгода…. Жаль если так.
Админ, тема то большая, поискали бы райтеров на блог…
Artema @ 10 июня 2009 20:33
Хороший у вас сайт!
Iraida @ 11 июня 2009 23:56
Другими словами: как именно эти ссылки должны вызывать объект Scripting.Dictionary и в когда их поведение не вызывает ошибок по ходу выполнения скрипта?
Спасибо!
Efrosin @ 13 июня 2009 7:43
Кто нашел плагин?
koutake @ 23 июня 2009 12:22
glob используется также для передачи параметров в события самого плагина Potolook
Daniila @ 23 июня 2009 19:37
Я так поняла что плагин фиг найдешь.
mrunstoppable @ 28 июня 2009 22:57
А где сам плагин можно найти желательно последнюю версию??
varennick @ 1 июля 2009 17:48
Блог умер? Одна статья в полгода ???
skuter777 @ 10 июля 2009 23:10
Другими словами: как именно эти ссылки должны вызывать объект Scripting.Dictionary и в когда их поведение не вызывает ошибок по ходу выполнения скрипта?
Outlook Blogger @ 11 июля 2009 11:23
skuter777, что именно вы имеете ввиду? Как вызывать вполне понятно указано в тексте.
briskbrain @ 12 июля 2009 23:09
для передачи параметров в события самого плагина Potolook