Просмотр папки не видит устройство камеры - PullRequest
1 голос
/ 09 июня 2010

В Delphi 2010 я хочу разрешить пользователям просматривать и выбирать папку . Папка находится на устройстве (?), Созданном DSLR.

Папка видна в проводнике Windows, как показано выше. И папка видна в TOpenDialog, что позволяет им перейти в папку и выбрать файл .

К сожалению, мне не удалось получить ни SHBrowseForFolder (код, который я нашел в Интернете, но не понимаю), либо SelectDirectory, чтобы увидеть устройство камеры или папку под ним. (Примечание: IMO, SelectDirectory - гораздо более приятный пользовательский интерфейс, поскольку пользователь может просматривать файлы в папках во время просмотра.)

Я предполагаю, что это связано с тем, что папка находится в устройстве (?), Созданном программным обеспечением камеры.

Я видел несколько хитростей, когда вы вызываете TOpenDialog для поиска папок с помощью *. и затем ExtractFileDir на результат, но это не надежный или, IMO, хороший интерфейс.

То, что я ищу, - это «Обзор папки», который может видеть те же устройства (включая устройство камеры), которые могут видеть TOpenDialog & Windows Explorer. (В идеале он должен выглядеть так, как показано ниже!)

Есть предложения?

Позже: Захват изображений с камеры, подключенной к компьютеру и указанной в разделе Устройства обработки изображений имеет то, что я искал.

Ответы [ 2 ]

1 голос
/ 10 июня 2010

Папка, которую вы там видите, составлена ​​расширением Windows Explorer, это не «диск».Это там, чтобы вы могли легко скопировать вещи в устройство и из устройства Используя Windows Explorer .Все операции, вероятно, обрабатываются расширением Windows Explorer.Подумайте об этом так: какой путь будет иметь файл на этом устройстве?Без PATH к файлу вы не сможете открыть его из любого приложения Windows!

Зайдите в меню вашей DSLR-камеры, найдите настройку, которая говорит ему, что делать при подключении через USB к ПК иизмените это на «Устройство хранения» (все, что не выглядит проприетарным, у вас, вероятно, есть 2 или 3 варианта).По умолчанию ваш DSLR установлен в режим, который позволяет ему общаться с программным обеспечением для автоматизации камер, запущенным на ПК!После того, как вы измените этот параметр на «устройство хранения», Windows будет обращаться с ним как с любым другим устройством хранения USB, назначит ему букву диска, и вы сможете получить к нему доступ из своего приложения Delphi.Или сделайте то, что делает большинство владельцев DSLR, выньте карту из DSLR и вставьте ее в кард-ридер.

Edit : Из названия на картинке вы получитеКамера Canon 350D.Зайдите в крайнее правое меню настроек, найдите параметр «Связь», установите для него «Соединение с ПК».По умолчанию: «Печать / PTP».Если вы действительно хотите работать с камерой по протоколу Print / PTP, вы, скорее всего, можете, но вам нужно искать конкретные API, потому что в этом режиме хранилище вашей камеры не отображается в вашей файловой системе, поэтому вы можете 'Не открывать вещи как файлы и папки.

0 голосов
/ 09 июня 2010

Это потому, что это специальное устройство, а не фиксированный диск или флешка.У меня была эта проблема много раньше.Вы должны сохранить куда-нибудь и копию с помощью проводника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...