Форум » [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 , что хорошо.



полная версия страницы