Форум » [x]Harbour » [?] Функция копирования файлов » Ответить
[?] Функция копирования файлов
Dima: Какая самая быстрая ? __Copyfile , Hb_fcopy и тд и тп
Ответов - 28, стр:
1 2 All
Pasha: Dima пишет: А если с netio то как правильно собрать сервер netio для серверов 2003 ,2008 , 2012 ? PS Скажем для использования hb_fcopy , делаю это всего одной строкой request hb_fcopy Не понял. сборка сервера netio обычная. Лучше netio собирать как сервис. Для использования hb_fcopy дать request на нее, все правильно. Можно конечно использовать CopyFileA и на сервере netio. Для этого надо дать request на hb_DynCall, а с клиента вызов будет таким: net:hb_DynCall( { "CopyFileA", "kernel32.dll", HB_DYN_CALLCONV_STDCALL }, cSource, cDest, 0 ) Но надо попробовать. Кажется, должно сработать.
Dima: Pasha пишет: Лучше netio собирать как сервис Так и делаю. Pasha пишет: Но надо попробовать. Пробну , спасибо !
Dima: Пробнул. Да быстрее работает. Через RPC Hb_fcopy время копирования 1 минута 35 сек Через RPC с новой функцией 1 минута 10 сек А на Windows Server 2012 64 бит будет работать "CopyFileA" из Kernel32 ?
Dima: Pasha пишет: а с клиента вызов будет таким: net:hb_DynCall( { "CopyFileA", "kernel32.dll", HB_DYN_CALLCONV_STDCALL }, cSource, cDest, 0 ) я сделал так netio_funcexec("hb_DynCall",{ "CopyFileA", "kernel32.dll", HB_DYN_CALLCONV_STDCALL },cSource,cDest,0)
Pasha: Dima пишет: А на Windows Server 2012 64 бит будет работать "CopyFileA" из Kernel32 ? Почему бы нет ? Эта dll есть и в system32, и в SysWOW64 (это в win7 64-bit). Ее почему-то не переименовали. Правда, это неуникодная функция, ее уникодный аналог - CopyFileW.
Dima: Ни кто не проверял , что будет если при копировании файла по сети с помощью Hb_Fcopy неожиданно ляжет сеть , что вернет Hb_Fcopy ? У себя проверить не могу так как сети нет.
Andrey: Где то это мы уже обсуждали эти команды.... Я остановился на Hb_Fcopy ! Dima пишет: Hb_Fcopy неожиданно ляжет сеть , что вернет Hb_Fcopy ? У себя проверить не могу так как сети нет. Возьми и копируй файл на флешку или дискету, а потом вытащи, получишь точно такую же ошибку !
Dima: Andrey Да я уже допер ;) А вот дискет уже не имею так как дисковода нет. Флешку решил не мучать и сделал копирование на расшаренный ресурс вида \\127.0.0.1\TEST , во время копирования снял галю на папке что она расшарена. Получил -1 , что хорошо.
полная версия страницы