Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
RaFaeL писал(а): Можно приделать костыль в виде добавления слэша и exists, в этом случае для каталога будет 1 а для файла 0, но мне кажется это как-то неаккуратн
Внезапно проблема с сетевыми путями!
Exists('\\server\dir\file.txt\') возвращает 1 хотя каталога такого нет (есть файл)!
Какие будут предложения?
Может есть апишная функция какая - получить атрибуты файла по пути? C примером!
P.S. А что за ограничение при поиске на форуме - не более 14 символов слово? А если название функции длиннее?
Если путь локальный, то exists('C:\pagefile.sys\') вернет 0 а exists('C:\Windows\') вернет 1, т.е. таким способом (добавлением слэша) я проверял, что мне передали - файл или каталог. Но не прокатил костыль, с сетевыми путями не работает как надо exists, пришлось сделать по уму
После перехода с С8 на С10 поломался механизм drop'a файлов из проводника. И самое интересное... все работало пока в новой оконной процедуре не поставил в дизайнере свойств DropID ~FILE. Как поставил поломался механизм по всему проекту. Сломал мозг.
kreator писал(а):mike_ch, а есть подробности проблемы? У меня, например, работает. С10.12349. Механизм по всему проекту - это как? Во фрейме идёт обработка?
По всему проекту - это значит перестало работать во всех оконных процедурах, где это использовалось. Причем есть у меня окошко без sheet'ов и tab'ов, просто на окно файлы перетягивал. Все. Не работает. Как будто случайно зацепил какой-то выключатель и выключил Я не знаю даже о каких подробностях написать. Потому как все было очень просто - dropid('~file') и все работало. Win10 + Cla10 build 12104.
RaFaeL писал(а): Можно приделать костыль в виде добавления слэша и exists, в этом случае для каталога будет 1 а для файла 0, но мне кажется это как-то неаккуратн
Внезапно проблема с сетевыми путями!
Exists('\\server\dir\file.txt\') возвращает 1 хотя каталога такого нет (есть файл)!
Какие будут предложения?
а так попробовать 'cd \\server\dir\' , а потом Exists('\\server\dir\file.txt')
Дед Пахом писал(а):Вообще-то Drag'n'Drop операция, требующая особых привилегий, может надо запустить программу с правами администратора?
там не просто привилегии, а привилегии должны быть одинаковыми в проводнике и у вашей программы
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Дед Пахом писал(а):Хелп на DROPID упоминает 2 сигнатуры: ~FILE и ~TEXT.
Всё правильно, но надо посмотреть текст. Маленькие/большие буквы в этих сигнатурах имеют значение? Как обрабатывается EVENT:Drop? У меня всё работает, дело не в Клаше.
kreator писал(а):У меня всё работает, дело не в Клаше.
у меня в разных виндовс поведение одного и того же app разное, вернее в windows XP, 7 работает без проблем. Но в windows 8 - чудеса, пляски с бубном, по 10 статистики нет, Clarion 10.12104 ABC
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп