Страница 2 из 3
Drga'n'drop файлов из проводника
Добавлено: 27 Январь 2016, 14:11
RaFaeL
RaFaeL писал(а): Можно приделать костыль в виде добавления слэша и exists, в этом случае для каталога будет 1 а для файла 0, но мне кажется это как-то неаккуратн
Внезапно проблема с сетевыми путями!
Exists('\\server\dir\file.txt
\') возвращает 1 хотя каталога такого нет (есть файл)!
Какие будут предложения?
Может есть апишная функция какая - получить атрибуты файла по пути? C примером!
P.S. А что за ограничение при поиске на форуме - не более 14 символов слово? А если название функции длиннее?
Drga'n'drop файлов из проводника
Добавлено: 27 Январь 2016, 14:52
RaFaeL
Разобрался
Код: Выделить всё
GetFileAttributes(*LPCSTR),DWORD,PASCAL,RAW,NAME('GetFileAttributesA')
Код: Выделить всё
LOC:Typ=GetFileAttributes(LOC:FileName)
if band(LOC:Typ,FILE_ATTRIBUTE_DIRECTORY)
Drga'n'drop файлов из проводника
Добавлено: 27 Январь 2016, 15:18
kreator
RaFaeL писал(а):Exists('\\server\dir\file.txt\') возвращает 1 хотя каталога такого нет (есть файл)!
Скорее всего, exists тупо реагирует на последний слэш, у него же нет параметра файл/каталог. Откуда взялся последний слэш?
Drga'n'drop файлов из проводника
Добавлено: 27 Январь 2016, 15:25
RaFaeL
Если путь локальный, то exists('C:\pagefile.sys\') вернет 0 а exists('C:\Windows\') вернет 1, т.е. таким способом (добавлением слэша) я проверял, что мне передали - файл или каталог. Но не прокатил костыль, с сетевыми путями не работает как надо exists, пришлось сделать по уму
Drga'n'drop файлов из проводника
Добавлено: 12 Октябрь 2016, 11:43
mike_ch
После перехода с С8 на С10 поломался механизм drop'a файлов из проводника. И самое интересное... все работало пока в новой оконной процедуре не поставил в дизайнере свойств DropID ~FILE. Как поставил поломался механизм по всему проекту. Сломал мозг.
Drga'n'drop файлов из проводника
Добавлено: 12 Октябрь 2016, 14:34
kreator
mike_ch, а есть подробности проблемы? У меня, например, работает. С10.12349. Механизм по всему проекту - это как? Во фрейме идёт обработка?
Drga'n'drop файлов из проводника
Добавлено: 12 Октябрь 2016, 15:37
mike_ch
kreator писал(а):mike_ch, а есть подробности проблемы? У меня, например, работает. С10.12349. Механизм по всему проекту - это как? Во фрейме идёт обработка?
По всему проекту - это значит перестало работать во всех оконных процедурах, где это использовалось. Причем есть у меня окошко без sheet'ов и tab'ов, просто на окно файлы перетягивал. Все. Не работает. Как будто случайно зацепил какой-то выключатель и выключил

Я не знаю даже о каких подробностях написать. Потому как все было очень просто - dropid('~file') и все работало. Win10 + Cla10 build 12104.
Drga'n'drop файлов из проводника
Добавлено: 12 Октябрь 2016, 16:26
Дед Пахом
Вообще-то Drag'n'Drop операция, требующая особых привилегий, может надо запустить программу с правами администратора?
Drga'n'drop файлов из проводника
Добавлено: 12 Октябрь 2016, 16:46
gopstop2007
RaFaeL писал(а):RaFaeL писал(а): Можно приделать костыль в виде добавления слэша и exists, в этом случае для каталога будет 1 а для файла 0, но мне кажется это как-то неаккуратн
Внезапно проблема с сетевыми путями!
Exists('\\server\dir\file.txt
\') возвращает 1 хотя каталога такого нет (есть файл)!
Какие будут предложения?
а так попробовать 'cd \\server\dir\' , а потом Exists('\\server\dir\file.txt')
Дед Пахом писал(а):Вообще-то Drag'n'Drop операция, требующая особых привилегий, может надо запустить программу с правами администратора?
там не просто привилегии, а привилегии должны быть одинаковыми в проводнике и у вашей программы

Drga'n'drop файлов из проводника
Добавлено: 12 Октябрь 2016, 16:57
kreator
Народ, не усложняйте. Какие ещё привилегии?
mike_ch, приведи всё-таки свой текст, потому что "dropid('~file')" полная хрень, ИМХО.
Drga'n'drop файлов из проводника
Добавлено: 12 Октябрь 2016, 17:04
Дед Пахом
kreator писал(а): Народ, не усложняйте. Какие ещё привилегии?
mike_ch, приведи всё-таки свой текст, потому что "dropid('~file')" полная хрень, ИМХО.
вот тут, например:
http://stackoverflow.com/questions/8239 ... g-and-drop
Drga'n'drop файлов из проводника
Добавлено: 12 Октябрь 2016, 17:21
kreator
Проблемы с UAC'ом, наверно, должен решать манифест. Кажется, это одна из его функций. Вот это - "dropid('~file')" - разве правильно?
Drga'n'drop файлов из проводника
Добавлено: 12 Октябрь 2016, 17:30
Дед Пахом
Хелп на DROPID упоминает 2 сигнатуры: ~FILE и ~TEXT.
Drga'n'drop файлов из проводника
Добавлено: 12 Октябрь 2016, 20:57
kreator
Дед Пахом писал(а):Хелп на DROPID упоминает 2 сигнатуры: ~FILE и ~TEXT.
Всё правильно, но надо посмотреть текст. Маленькие/большие буквы в этих сигнатурах имеют значение? Как обрабатывается EVENT:Drop? У меня всё работает, дело не в Клаше.
Drga'n'drop файлов из проводника
Добавлено: 12 Октябрь 2016, 22:41
gopstop2007
kreator писал(а):У меня всё работает, дело не в Клаше.
у меня в разных виндовс поведение одного и того же app разное, вернее в windows XP, 7 работает без проблем. Но в windows 8 - чудеса, пляски с бубном, по 10 статистики нет, Clarion 10.12104 ABC