|
Не понятная картина
|
|||
---|---|---|---|
#18+
Доброго времени суток! из-за чего может быть такая картина? при запуске кода дебагером поиск файла по маске отрабатывает корректно ll_findfile = FindFirstFileA( ls_filefullpath, str_finddata ) и возвращает значение больше 0. А если запускаешь через run то ll_findfile = FindFirstFileA( ls_filefullpath, str_finddata ) возвращает -1 и пишет в лог что Файл по маске не найден. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2021, 16:45 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
Еще что любопытно что если в коде той функции, которая делает поиск по маске прописать вывод значения переменной на экран и запустить через run, то тоже отрабатывает корректно ls_filefullpath = as_in_path + '\' + as_mask MessageBox('ls_filefullpath',ls_filefullpath) ll_findfile = FindFirstFileA( ls_filefullpath, str_finddata ) MessageBox('ll_findfile',String(ll_findfile)) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2021, 16:54 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
hum_i, это проблема определения текущего каталога, т.е. при запуске из среды, РВ ищет в каталоге РВ, а АРР.ЕХЕ ищет в своем каталоге. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2021, 19:40 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
AIS hum_i, это проблема определения текущего каталога, т.е. при запуске из среды, РВ ищет в каталоге РВ, а АРР.ЕХЕ ищет в своем каталоге. А как эту проблему решить? подскажите пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 08:17 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
hum_i А как эту проблему решить? подскажите пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 09:28 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
AIS hum_i, это проблема определения текущего каталога, т.е. при запуске из среды, РВ ищет в каталоге РВ, а АРР.ЕХЕ ищет в своем каталоге. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 09:38 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
если я в нужную мне папку C:\TEST_FILE вручную копирую zip файл а потом запускаю проект который должен этот файл найти и распаковать, то все работает отлично Но если я в коде прописываю взять этот файл с ftp и положить в нужную мне папку C:\TEST_FILE TRY // Загрузка zip архивов wso_c = CREATE Oleobject wso_c.ConnectToNewObject( "WScript.Shell") IF isValid(wso_c) THEN ll_ret = wso_c.Run( "get_file.bat", NORMAL, WAIT ) ELSE ll_ret = -1 END IF CATCH ( RunTimeError e1 ) e1.getMessage() FINALLY DESTROY(wso_c) garbageCollect() END TRY а потом его распаковать, то все файл уже найти не может. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 09:56 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
osxl hum_i А как эту проблему решить? подскажите пожалуйста Version 2017 R3 Build 1880 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 09:59 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
hum_i если я в нужную мне папку C:\TEST_FILE вручную копирую zip файл ... то все работает отлично Вы сами ответили на свой вопрос о проблеме. Вручную. Когда копируете вручную, вы копируете с одними правами, программа копирует с другими правами. Лично с этим сталкивался. Скорее всего дело в правах доступа. А по первому вопросу, Debug vs Run, смутно припоминаю что сталкивался, покажите как вы декларируете функцию FindFirstFileA(..., ...) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 10:45 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
hum_i Но если я в коде прописываю взять этот файл с ftp и положить в нужную мне папку C:\TEST_FILE ll_ret = wso_c.Run( "get_file.bat", NORMAL, WAIT ) P.S. Есть готовая библиотека на PB для работы с FTP сервером, почему ей не воспользуетесь? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 10:49 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
osxl hum_i если я в нужную мне папку C:\TEST_FILE вручную копирую zip файл ... то все работает отлично Вы сами ответили на свой вопрос о проблеме. Вручную. Когда копируете вручную, вы копируете с одними правами, программа копирует с другими правами. Лично с этим сталкивался. Скорее всего дело в правах доступа. А по первому вопросу, Debug vs Run, смутно припоминаю что сталкивался, покажите как вы декларируете функцию FindFirstFileA(..., ...) А как вопрос с правами решить? может как то в коде дать права на папку ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 10:52 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
22.01.2021 9:59, hum_i пишет: > Version 2017 R3 Build 1880 Кстати, зачем использовать ANSI-функцию в Юникодной среде? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 11:31 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
hum_i А как вопрос с правами решить? может как то в коде дать права на папку По первому вопросу Debug vs Run проверил, что через Debug что через Run работает одинаково. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 11:32 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
Dim2000 22.01.2021 9:59, hum_i пишет: > Version 2017 R3 Build 1880 Кстати, зачем использовать ANSI-функцию в Юникодной среде? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 13:03 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
osxl hum_i А как вопрос с правами решить? может как то в коде дать права на папку По первому вопросу Debug vs Run проверил, что через Debug что через Run работает одинаково. А какие именно права нужно дать пользователю, под которым запускается программа, на эту папку? Типа Full control? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 13:20 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
Дала права пользователю под которым программа запускается. Права Full control. Не помогло ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 13:34 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
hum_i А какие именно права нужно дать пользователю, под которым запускается программа, на эту папку? Типа Full control? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 13:43 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
osxl hum_i А какие именно права нужно дать пользователю, под которым запускается программа, на эту папку? Типа Full control? можете написать какие именно права и как это сделать? пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 13:48 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
hum_i, Вообще начните с функции, потому что действительно возможно вы используете Ansi функцию, вы не выложили как ее задекларировали, маловероятно но и там тоже могут быть свои заковырки. Запустите скрипт для скачки файла с FTP. Но распакуйте руками. Проверьте если программа видит. Не видит, руками дайте права файлу. Еще раз проверьте. А так получается тыкаем в слепую... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 13:49 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
osxl hum_i, Вообще начните с функции, потому что действительно возможно вы используете Ansi функцию, вы не выложили как ее задекларировали, маловероятно но и там тоже могут быть свои заковырки. Запустите скрипт для скачки файла с FTP. Но распакуйте руками. Проверьте если программа видит. Не видит, руками дайте права файлу. Еще раз проверьте. А так получается тыкаем в слепую... function long FindFirstFileA (ref string filename, ref os_finddata findfiledata) library "KERNEL32.DLL" alias for "FindFirstFileA;Ansi" Скачивается файл без проблем. Прблема именно в том что потом когда нужно его распаковать, программа его не находит. Вот код который сначала скачивает zip файл с ftp а потом его распаковывает OleObject wso_c OleObject wso_uz SetNull( ls_file_path ) SetNull( ls_unzip_command ) SetNull( ls_filename ) SetNull( ls_chcp_command ) SetPointer(HourGlass!) ls_chcp_command = 'chcp 866' TRY // Загрузка zip архивов wso_c = CREATE Oleobject wso_c.ConnectToNewObject( "WScript.Shell") IF isValid(wso_c) THEN ll_ret = wso_c.Run( "get_file.bat", NORMAL, WAIT ) ELSE ll_ret = -1 END IF CATCH ( RunTimeError e1 ) e1.getMessage() FINALLY DESTROY(wso_c) garbageCollect() END TRY ls_zipper_path = 'C:\7z.exe' ls_file_path = is_dir_impsc + '\' ls_file_path2 = is_dir_impsc ls_mask = 'test_' + ls_date+'*' ls_file = uf_find_file( ls_file_path2, ls_mask ) ls_filename = ls_file_path + ls_file IF NOT( IsNull( ls_zipper_path ) ) AND NOT( IsNull( ls_filename ) ) THEN TRY wso_uz = CREATE Oleobject wso_uz.ConnectToNewObject( "WScript.Shell") ls_unzip_command = '"' + ls_zipper_path + '"' + ' x ' + '"' + ls_filename + '"' + ' -y -o"' + ls_file_path IF isValid(wso_uz) THEN ll_ret = wso_uz.run( ls_unzip_command, 0, TRUE ) ELSE ll_ret = -1 END IF CATCH ( RunTimeError e2 ) e2.getMessage() FINALLY DESTROY(wso_uz) garbageCollect() END TRY END IF ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 14:03 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
Если например я кусок кода который копирует zip файл с ftp закрмментирую, файл туда в папку положу вручную и запущу прогу, то все прекрасно отрабатывает, программа распаковывает файл ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 14:07 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
Как и какие права нужно дать права папке и ее наследуемым файлам? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 14:10 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
hum_i, Поменяйте для начала объявление вашей функции на Unicode. Ловил из-за этого глюки в программе. Сравните права безопасности для скаченного файла через скрипт, и для файла который вы копируете руками. Там скорее всего будет разница. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 14:20 |
|
Не понятная картина
|
|||
---|---|---|---|
#18+
hum_i Как и какие права нужно дать права папке и ее наследуемым файлам? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 14:49 |
|
|
Start [/forum/topic.php?fid=15&msg=40037972&tid=1334997]: |
0ms |
get settings: |
24ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
108ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
535ms |
get tp. blocked users: |
2ms |
others: | 420ms |
total: | 1129ms |
0 / 0 |