• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Подключение диска?

Автор bvr, 18.02.11, 13:21:59

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

bvr

Добрый день
Букву диска пользователя определили, диск в настоящее время не подключен, как подключить диск к пользователю?

Спасибо

Chaa

Как-то так:
#include <winnetwk.h>
...
NETRESOURCE rc = {0};
rc.dwType = RESOURCETYPE_DISK;
rc.lpLocalName = L"L:"; // Буква диска
rc.lpRemoteName = L"\\\\SERV1\\Share..."; // Сетевой путь
DWORD dwErr = WNetAddConnection2(&rc, NULL, NULL, CONNECT_UPDATE_PROFILE);

С помощью GetFileData и UpFile вы можете работать с файлами не подключая сетевой диск.

bvr

rc.lpRemoteName = L"\\\\SERV1\\Share..."; // Сетевой путь - Как его найти?

UpFile - может добавлять в лоцман файл, с локальной машины (пропуская копирование на сетевой диск)?
Из описания UpFile:
Variant vaFileData,        // содержимое файла - что это такое? (надо весь файл читать в память?)
И еще вопрос - куда будет добавляться файл - в текущую взятую в работу папку?

Спасибо

Chaa

Цитата: bvr от 18.02.11, 15:23:19
rc.lpRemoteName = L"\\\\SERV1\\Share..."; // Сетевой путь - Как его найти?
GetDBProperties должно возвращать в одном из значений.
Цитата: bvr от 18.02.11, 15:23:19
UpFile - может добавлять в лоцман файл, с локальной машины (пропуская копирование на сетевой диск)?
Да.
Цитата: bvr от 18.02.11, 15:23:19
Из описания UpFile:
Variant vaFileData,        // содержимое файла - что это такое? (надо весь файл читать в память?)
Содержимое файла это SAFEARRAY массив байт, можно использовать CComSafeArray<BYTE>.
Весь файл читается в память. Более-менее надежно добавляются файлы меньше 100 Мб, с файлами большего объема будут проблемы.
Цитата: bvr от 18.02.11, 15:23:19
И еще вопрос - куда будет добавляться файл - в текущую взятую в работу папку?
Файл добавляется к документу, тип, ключевой атрибут и версия которого передаются в UpFIle.
UpFileByID то же самое, только указывается идентификатор документа.

bvr

Спасибо
Чем лучше пользоваться UpFIle или RegistrationOfFile?
Что бы добавить файл с помощью UpFIle не обязательно вызывать CheckOut для взятия на редактирование?

Chaa

Цитата: bvr от 21.02.11, 08:15:18
Чем лучше пользоваться UpFIle или RegistrationOfFile?
В первом случае вы передаете данные файла на сервер приложений как параметр функции, во втором случае файл сначала выкладывается на рабочий диск, с которого сервер приложений потом читает его. RegistrationOfFile добавляет файлы любого размера (до 2 Гб для версии 8.5), а UpFIle примерно до 100 Мб и для больших файлов RegistrationOfFile быстрее.

Цитата: bvr от 21.02.11, 08:15:18
Что бы добавить файл с помощью UpFIle не обязательно вызывать CheckOut для взятия на редактирование?
В любом случае брать документ на редактирование обязательно.

bvr

Спасибо  Chaa

Есть DefaultDir и DefaultFileFolder что использовать с RegistrationOfFile?

Chaa

Цитата: bvr от 22.02.11, 13:03:56
Есть DefaultDir и DefaultFileFolder что использовать с RegistrationOfFile?
Подключается папка из DefaultFileFolder с именем пользователя.
Примерно:

CString UserName; // из CurrentUser
CString DefaultFileFolder; // из GetDBProperties
CString Path;

UserName.Replace(L"\\", L"#");
Path = DefaultFileFolder + L"\\" + UserName + L"#Files";
rc.lpRemoteName = Path;