Invalid FileName (45)

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Re: Invalid FileName (45)

Сообщение Губин Игорь »

Вот потому-то я и не люблю "чёрные ящики". :P

Попробуй мой вариант
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7332
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Invalid FileName (45)

Сообщение Игорь Столяров »

Губин Игорь писал(а):Попробуй мой вариант
Без разницы - все равно нужно думать, смотреть код, справку и т.д. ;)
Пользуйся MS Explorer для загрузки файлов - там все просто. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

Re: Invalid FileName (45)

Сообщение Алексей- Софт-Центр »

Добрый день!

Первая малююююююсенькая победа! :)
Получил 1 в инициализации библиотеки!
После этого вызов скачивания файла (HttpDownloadFile)- вызывает ошибку приложения. Значит какие-то параметры не так описаны:

Прототип:
(*CSTRING,*CSTRING ,long,long,*GROUP,*GROUP,LONG ),LONG,PASCAL,RAW,NAME('HttpDownloadFileA')

Вызов:
r#=HttpDownloadFile(LocalFile1,URL1,HTTP_TIMEOUT,HTTP_OPTION_NOCACHE,HTTPTRANSFERSTATUS,HttpEventDelegate,l3)

Описание параметров:
localfile1 CSTRING(128)
URL1 CSTRING(128)
HTTP_TIMEOUT LONG
HTTP_OPTION_NOCACHE EQUATE(0001h)
HTTPTRANSFERSTATUS GROUP,PRE()
dwBytesTotal LONG
dwBytesCopied LONG
dwBytesPerSecond LONG
dwTimeElapsed LONG
dwTimeEstimated LONG
END
HttpEventDelegate GROUP,PRE()
hClient LONG
nEventId LONG
dwError LONG
dwParam LONG
END
l3 LONG

Алексей
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7332
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Invalid FileName (45)

Сообщение Игорь Столяров »

Алексей- Софт-Центр писал(а):Значит какие-то параметры не так описаны:
Логично. Я в FTP раздел форума сбрасывал все прототипы функций и структур CST для Clarion.
Все абсолютно рабочее и проверено многократо и кстати написано не мной, а самой CST когда оно еще считало, что Clarion будет развиваться как язык программирования.
Просто возьми их оттуда и вставь в программу.
За теми кто отстал - не возвращаться. (С) Кодекс
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

Re: Invalid FileName (45)

Сообщение Алексей- Софт-Центр »

Добрый день!
Все заработало!!!!
Огромное спасибо ВСЕМ-ВСЕМ ИГОРЯМ !!!! :)
Особенно Игорю :) :)
Ошибка была в прототипе:
Было:
Прототип:
(*CSTRING,*CSTRING ,long,long,*GROUP,*GROUP,LONG ),LONG,PASCAL,RAW,NAME('HttpDownloadFileA')
Вызов:
r#=HttpDownloadFile(LocalFile1,URL1,HTTP_TIMEOUT,HTTP_OPTION_NOCACHE,HTTPTRANSFERSTATUS,HttpEventDelegate,l3)
Надо:
Прототип:
(*CSTRING,*CSTRING ,long,long,*HTTPTRANSFERSTATUS,HttpEventDelegate,LONG ),LONG,PASCAL,RAW,NAME('HttpDownloadFileA')
Вызов:
r#=HttpDownloadFile(LocalFile1,URL1,HTTP_TIMEOUT,HTTP_OPTION_NOCACHE,HTTPTRANSFERSTATUS,HttpEventDelegate,l3)

Алексей
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7332
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Invalid FileName (45)

Сообщение Игорь Столяров »

Губин Игорь писал(а):Попробуй мой вариант
Таки моя взяла ... ;)
Кларионист, это не сишник, он думать и колдовать над кодом по своей сути не любит. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Re: Invalid FileName (45)

Сообщение Губин Игорь »

Т.е. он лентяй и не способен написать даже простенького "Helllow World" без применения дизайнера...
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7332
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Invalid FileName (45)

Сообщение Игорь Столяров »

Губин Игорь писал(а):Т.е. он лентяй и не способен написать даже простенького "Helllow World" без применения дизайнера...
Он - кларионист. Впрочем, как и я ... ;)
Не лентяй, скорее программист нацеленный на результат, а не на процесс.
В программировании за деньги - это считается нормально.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Re: Invalid FileName (45)

Сообщение Губин Игорь »

А что, есть те, кто занимается программированием бесплатно?! Дайте мне таких сюда, у меня куча задач для них. Ладно, кончаем хохмить, пошли в клаталк.
Это я только кажусь дураком! На самом деле я полный идиот!
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

Re: Invalid FileName (45)

Сообщение Алексей- Софт-Центр »

Добрый день!
Не сочтите за "наглость":
А есть ли HttpDownload - не в файл , а в переменную? :)


Алексей
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Re: Invalid FileName (45)

Сообщение Губин Игорь »

См. моё решение. Там плевать куда. ;) Чем и хороши решения "в исходных кодах"

А так, ну кто тебе решает сохранить во временный файл, а потом его прочитать? Код для получения уникального имени временного файла нужен?
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7332
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Invalid FileName (45)

Сообщение Игорь Столяров »

Здесь как обычно два варианта ...

1. Есть такой метод в CST, если не ошибаюсь HttpGetData(..). Но придется инициализировать соединение, работать с областями памяти и т.д. :(
Не то что бы нельзя, просто если делаешь это не в "сях", то несколько затруднительно в отладке.

2. На мой взгляд проще загрузить одной командой CST файл в TEMP папку, перегрузить в строку и удалить.
Вариантов может быть масса - один из них я прикрепил к сообщению.
Строку лучше конечно инициализировать динамически, через NEW() по размеру уже загруженного файла.

Выбирай ... ;)
Вложения
ReadFileToString.clw
Загрузка файла в строку
(3.78 КБ) 456 скачиваний
За теми кто отстал - не возвращаться. (С) Кодекс
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

Re: Invalid FileName (45)

Сообщение Алексей- Софт-Центр »

Добрый день!

Большое спасибо, Игорь!

Алексей
Ответить