[/url]Та вже якось давненько помітив, що перестала коректно працювати змінна $Result в моєму скрипті обробки події збереження карти. Не працює ні в скрипті рівня карти, ні в скрипті на кнопці. Вирішив перевірити - у чому річ. От простенький скрипт:%Events.OnFileSave
@Dialog.Message Запущено скрипт OnFileSave
$MapFile=@Map.Filename
$Modifed=@Map.Modified
@If $Modifed=0 then @Dialog.Message Скрипт OnFileSave каже, що змін в карті не було, тому карта легко збережеться.
@If $Modifed=0 then @Goto %EndFileSave
$Rez=@Dialog.Ask 2+2=|Вкажіть правильний результат, якщо зміни в карті треба зберегти||Вкажіть не правильний результат операції, якщо зміни в карті зберігати не потрібно. Size=500
@If $Rez=4 then $Result=0 else $Result=1
@If $Rez<>4 then @Dialog.Message Зміни не збережено - перевірте
%EndFileSave
Пів-дня морочусь, а толку нема. Зберігає Digitals зміни і все тут тобі . Дуже прошу, зжальтесь наді-мною
Доброї пори доби.
У мене питання до розробників: хіба скрипт обробки події %Events.OnFileNew не повинний виконуватись при створенні нової карти на шаблоні, в якому цей скрипт прописаний? Я просто думав, що так воно і є, а тут виявляється…
Ну, так як у VBA: є шаблон документа (припустимо Normal.dot), в якому прописана процедура автозапуску Document_New, що запускається автоматом при створенні нового документа Word, основаного на шаблоні.
Нагадайте мені, будь-ласка, як взагалі скористатись %Events.OnFileNew.
По аналогії з %Events.OnStartup (в теці Library є файл Startup.dsf, в якому прописаний текст скрипта, що запускається автоматом після старту програми Digitals)? Так не запускається OnFileNew: ні з файла OnFileNew.tlb або FileNew.tlb у теці Library, ні з тих же файлів у теці Digitals.
При цьому визивається %Events.OnFileOpen, тому, що фактично це відкриття існуючого файлу, а не створення нового. Але можемо також додати і визов Events.OnFileNew
Хочу підняти питання обробки подій “вирізати точку/точки з об’єкта” і “вставити точку в об’єкт”, що колись звучало в темі запиту на функцію. Тепер, мабуть було би добре додати окремі скриптові функції: %Events.OnPointInsert та %Events.OnPointsClear