Страница 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