Страница 1 из 1

Открытие файла ассоциированным приложением с помощью Avenue

Добавлено: 04 мар 2005, 01:52
Максим Дубинин
Обсуждение статьи: Открытие файла ассоциированным приложением с помощью Avenue

http://gis-lab.info/qa/hotlink-anytype.html

Добавлено: 22 янв 2007, 07:39
Максим Дубинин
добавлено описание проблем с Google Earth и их решения

Re: Открытие файла ассоциированным приложением с помощью Avenue

Добавлено: 18 июн 2009, 11:09
AN1440
Неприятная особенность: Если в поле имени файла пусто, происходит открытие системного окна с папкой проекта.
А как бы сделать, чтобы типа выскакивало сообщение "Нет файла!", или еще лучше - просто "BEEP" ?

Re: Открытие файла ассоциированным приложением с помощью Avenue

Добавлено: 18 июн 2009, 12:17
AN1440
...и еще аналогично: при использовании скриптов для открытия картинки с помощю ИрфанВъю - если хотлинк-поле содержит имя несуществующего файла, то "File not found!", а если поле пустое - происходит открытие первого попавшегося файла-картинки из папки проекта. Точнее, открывается пустой Ирфан, а он уже сам загружает первую попавшуюся картинку. То же делает и ФастСтоне.

Re: Открытие файла ассоциированным приложением с помощью Avenue

Добавлено: 18 июн 2009, 12:55
AN1440
...от последнего удалось избавиться, добавив в скрипт "if-then":

theView = av.GetActiveDoc
found = false
p = theView.GetDisplay.ReturnUserPoint
for each t in theView.GetActiveThemes
if ((t.HasAttributes) and (t.GetHotField <> nil)) then
recs = t.FindByPoint(p)
for each rec in recs
theField = t.GetHotField
found = true
theVal = t.ReturnValueString(theField.GetName, rec)
if (theVal<>"") then
av.Run(t.GetHotScriptName,FileName.GetCWD.asstring+"\"+theVal)
end
end
end
end
if (not found) then
System.Beep
end