| Автор | Сообщение |
|
|
| постоянный участник
|
Пост N: 8068
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.10.25 10:09. Заголовок: MiniGui + hbcurl
Сделал маленький пример который выдал Deep-Seek Скрытый текст
/* * MINIGUI - Harbour Win32 GUI library Demo * * Скачать файл с сайта / Download file from the website * + \contrib\hbcurl */ #define _HMG_OUTLOG #require "hbcurl" #include "hmg.ch" #include "hbcurl.ch" *********************************** FUNCTION Main LOCAL cUrl := "https://hmgextended.com/files/CONTRIB/hmg-25.10-setup.zip" LOCAL cFile := GetStartUpFolder() + "\hmg-25.10-setup.zip" SET WINDOW MAIN OFF // Использование DownloadFile(cUrl, cFile) RETURN NIL *********************************** PROCEDURE DownloadFile(cUrl, cLocalFile) LOCAL hCurl LOCAL cBuffer LOCAL nResult LOCAL hFile // Инициализация curl hCurl = curl_easy_init() IF hCurl != NIL // Настройка параметров curl_easy_setopt(hCurl, CURLOPT_URL, cUrl) curl_easy_setopt(hCurl, CURLOPT_FOLLOWLOCATION, 1) curl_easy_setopt(hCurl, CURLOPT_SSL_VERIFYPEER, 0) // Выполнение запроса cBuffer = curl_easy_exec(hCurl, @nResult) IF nResult == 0 .AND. !Empty(cBuffer) // Сохранение файла hFile = FCreate(cLocalFile) IF hFile != -1 FWrite(hFile, cBuffer) FClose(hFile) ? "Файл успешно скачан: " + cLocalFile ELSE ? "Ошибка создания файла" ENDIF ELSE ? "Ошибка загрузки: ", curl_easy_strerror(nResult) ENDIF curl_easy_cleanup(hCurl) ELSE ? "Ошибка инициализации CURL" ENDIF RETURN
| Сделал для него сборку - Скрытый текст
# Keys compile -prgflag=-w2 -es1 # Enable multi/single-thread Harbour VM -mt # Incremental-compilation mode -inc # folder where are all * .obj -workdir=OBJ # Name EXE-module -otest # to list all * .prg test.prg # paths to the main and extension *.Lib -lminigui -llibcurl
| Не собирается, выдаёт ошибки: Harbour 3.2.0dev (r2503200530) Copyright (c) 1999-2024, https://harbour.github.io/ test.prg(38) Warning W0001 Ambiguous reference 'CURLOPT_URL' test.prg(39) Warning W0001 Ambiguous reference 'CURLOPT_FOLLOWLOCATION' test.prg(40) Warning W0001 Ambiguous reference 'CURLOPT_SSL_VERIFYPEER' hbmk2[test]: Error: Running Harbour compiler (built-in). 1 И как собрать ? 
|
 |

|
|
Ответов - 84
, стр:
1
2
3
4
5
All
[только новые]
|
|
|
|
| |
Пост N: 2003
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.10.25 10:28. Заголовок: Andrey пишет: И как..
Andrey пишет: Для начала имена констант из заголовочного файла написать правильно
|
 |

|
|
|
| постоянный участник
|
Пост N: 8069
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.10.25 11:25. Заголовок: Haz пишет: Для нача..
Haz пишет: | цитата: | | Для начала имена констант из заголовочного файла написать правильно |
| Спасибо ! Исправил. Теперь выдаёт такие ошибки: Error: Unresolved external '_HB_FUN_CURL_EASY_INIT' referenced from W:\TESTCURL\OBJ\TEST.OBJ Error: Unresolved external '_HB_FUN_CURL_EASY_SETOPT' referenced from W:\TESTCURL\OBJ\TEST.OBJ Error: Unresolved external '_HB_FUN_CURL_EASY_EXEC' referenced from W:\TESTCURL\OBJ\TEST.OBJ Error: Unresolved external '_HB_FUN_CURL_EASY_STRERROR' referenced from W:\TESTCURL\OBJ\TEST.OBJ Error: Unresolved external '_HB_FUN_CURL_EASY_CLEANUP' referenced from W:\TESTCURL\OBJ\TEST.OBJ hbmk2[test]: Error: Running linker. 2
|
 |

|
|
|
| |
Пост N: 8149
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.10.25 11:38. Заголовок: Andrey какой компил..
Andrey какой компилятор ? какие либы есть в сборке завязанные на LIBCURL ?
|
 |

|
|
|
| |
Пост N: 8150
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.10.25 11:41. Заголовок: под MINGW у меня так..
под MINGW у меня такие libcurl.a libcurl.dll.a libhbcurl.a libhbcurls.a liblibcurl.a все работает
|
 |

|
|
|
| постоянный участник
|
Пост N: 8070
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.10.25 12:04. Заголовок: Ссылка на проект - h..
|
 |

|
|
|
| |
Пост N: 2004
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.10.25 12:19. Заголовок: Andrey пишет: Собир..
Andrey пишет: | цитата: | Собираю МиниГуи версия 25.09 или 25.10, да любым не собирается. |
| Пишет что не указана библиотека в которой не найденные функции живут. в поставку минигуи входит всего 3 курлевских библиотеки, более есть собираемый пример FtpNavigator вроде называется и для запуска потребуется dll ( гуглится )
|
 |

|
|
|
| постоянный участник
|
Пост N: 4847
Зарегистрирован: 17.02.12
|
|
Отправлено: 27.10.25 12:29. Заголовок: Haz пишет функции жи..
Haz пишет | цитата: | | функции живут. в поставку минигуи входит всего 3 курлевских библиотеки, более есть собираемый пример FtpNavigator вроде называется и для запуска потребуется dll |
| Нашел каталог (когда то был) ADDONS, там разное, в том числе и подкаталог CUrl с curl файлами: BUILD-HOMEPAGE.url => https://github.com/curl/curl-for-win libcrypto-1_1.dll libcurl.dll libssh2.dll libssl-1_1.dll README.txt переписал dll из него в пример FtpNavigator, он собрался и запустился PS. Андрей, у тебя был такой каталог ADDONS
|
 |

|
|
|
| |
Пост N: 8151
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.10.25 14:35. Заголовок: Haz пишет: есть соб..
Haz пишет: | цитата: | | есть собираемый пример FtpNavigator |
| чекнул у себя на старой версии Минигуи 2022 года, все пашет а DLL взял тут c:\MiniGUI\SAMPLES\BASIC\test_curl\ PS Bcc58
|
 |

|
|
|
| постоянный участник
|
Пост N: 8071
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.10.25 15:02. Заголовок: Dima пишет: чекнул ..
Dima пишет: | цитата: | | чекнул у себя на старой версии Минигуи 2022 года, |
| А мой пример собери... Или другой какой нибудь для hbcurl
|
 |

|
|
|
| |
Пост N: 2005
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.10.25 15:32. Заголовок: Andrey пишет: А мой..
Andrey пишет: Да собирается твой пример без вопросов , только есть нюанс. Твой код не скачивает ничего без SSL, a с SSL кидает мусор на экран. И да в харбуре нет hb_curl_exec() смотри примеры, тот же ftpnavigator. В URL указан https, значит требуется SSL и проверка сертификатов это раз, и второе то что hbcurl это обертка в harbour , лучше пользовать вызовы curl.exe в таком случае и в третьих в минигуи точно были примеры скачивания файлов готовые.
|
 |

|
|
|
| постоянный участник
|
Пост N: 8072
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.10.25 16:05. Заголовок: Haz пишет: в третьи..
Haz пишет: | цитата: | | в третьих в минигуи точно были примеры скачивания файлов готовые. |
| Не нашёл для hbcurl Другие не работают... И у меня пример не собирается ! Что там нужно подправить ? Или может исправить этот пример. Библиотека есть C:\MiniGUI_2509\Harbour\lib\hbcurl.lib
|
 |

|
|
|
|
|
| |
Пост N: 2006
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.10.25 16:11. Заголовок: Andrey пишет: Други..
Andrey пишет: Func Main( cUrl ) local oHttp := CreateObject( 'MSXML2.XMLHTTP' ) local cData := "" cUrl := "https://hmgextended.com/files/CONTRIB/hmg-25.10-setup.zip" oHttp:Open( "POST", cUrl, .F. ) oHttp:SetRequestHeader( "Content-Type","application/json") oHttp:Send( "" ) cData := oHttp:ResponseBody StrFile(cData, "hmg-25.10-setup.zip") RETURN nil
|
 |

|
|
|
| |
Пост N: 8152
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.10.25 16:13. Заголовок: Haz пишет: Твой код..
|
 |

|
|
|
| |
Пост N: 2007
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.10.25 16:19. Заголовок: Andrey пишет: Библи..
Andrey пишет: | цитата: | Библиотека есть C:\MiniGUI_2509\Harbour\lib\hbcurl.lib |
| так их там ТРИ В HBP пропиши # Keys compile -prgflag=-w2 -es1 # Enable multi/single-thread Harbour VM -mt # Incremental-compilation mode -inc # folder where are all * .obj -workdir=OBJ # Name EXE-module -otest # to list all * .prg test.prg # paths to the main and extension *.Lib -lminigui -llibcurl -lhbcurl -lhbcurls -Ic:/minigui/include C:\MiniGUI\Harbour\bin\minigui.hbc
|
 |

|
|
|
| постоянный участник
|
Пост N: 8073
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.10.25 18:39. Заголовок: Haz пишет: local oH..
Haz пишет: | цитата: | | local oHttp := CreateObject( 'MSXML2.XMLHTTP' ) |
| Не работает у меня ! Подключился к серверу win2012 в Москве, тоже не работает. Вот такие ошибки: 
|
 |

|
|
|
| постоянный участник
|
Пост N: 8074
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.10.25 19:04. Заголовок: Dima пишет: Делаем ..
Dima пишет: А по адресу в примере - скачивает ? FUNCTION Main LOCAL cUrl := "https://hmgextended.com/files/CONTRIB/hmg-25.10-setup.zip" LOCAL cFile := GetStartUpFolder() + "\hmg-25.10-setup.zip" SET WINDOW MAIN OFF // Использование DownloadFile(cUrl, cFile) RETURN NIL У меня всё равно не собирается ! Пишет вот такую ошибку: Turbo Incremental Link 5.69 Copyright (c) 1997-2005 Borland Error: Unresolved external '_HB_FUN_CURL_EASY_EXEC' referenced from W:\HB_PROJECTMINIGUI\@PROJECT\CURL-LIBCURL\TESTCURL\OBJ\TEST.OBJ hbmk2[test]: Error: Running linker. 2
|
 |

|
|
|
| |
Пост N: 2008
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.10.25 19:09. Заголовок: Andrey пишет: Пишет..
Andrey пишет: Haz пишет: | цитата: | | в харбуре нет hb_curl_exec() смотри примеры, тот же ftpnavigator. |
| Другая функция в примере, во всяком случае в bcc нет exec() по mingw лучше Dima скажет
|
 |

|
|
|
| постоянный участник
|
Пост N: 4848
Зарегистрирован: 17.02.12
|
|
Отправлено: 27.10.25 19:12. Заголовок: Andrey пишет Не рабо..
Andrey пишет Наверно, мешает кто то или что то ?! Собрал, как написал Игорь (один в один) - работает, "hmg-25.10-setup.zip" файл создался все ok! в архиве 2а файла hmg-25.10-setup.exe и version.txt
|
 |

|
|
|
| |
Пост N: 8153
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.10.25 19:27. Заголовок: Haz пишет: bcc нет..
Haz пишет: | цитата: | | bcc нет exec() по mingw лучше Dima скажет |
| Да нет его и в MinGw
|
 |

|
|
|
| постоянный участник
|
Пост N: 8075
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.10.25 19:43. Заголовок: Andrey пишет: Сдела..
Andrey пишет: [quote]Сделал маленький пример который выдал Deep-Seek Подправьте пожалуйста этот пример. Боюсь накосячить. Хочется иметь сразу нормальный пример.
|
 |

|
|
Ответов - 84
, стр:
1
2
3
4
5
All
[только новые]
|
|