Que compilador de C usas para construir tu aplicaci贸n con FWH ?
Que compilador de C usas para construir tu aplicaci贸n con FWH ?
Gracias Antonio, pero he probado con la dll y da un problema de memoria al arrancar el programa una vez compilado.
Puedes poner aqui el codigo que has probado ?
gracias
//Para tratamiento CURL
#include "C:\harbour64_MVSC_2022\contrib\hbcurl\hbcurl.ch"
...
function main()
...
MENUITEM '&CURL_FTP' ACTION ftpSubirFichero( "ftp://direccion.mooo.org/fichdescargado.txt",;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "C:\carpeta2\prueba.txt", "usuario", "password" )
...
function ftpSubirFichero( cUrlFileName, cFileName, aUser, aPass )
聽 聽local hCurl
聽 聽local nResult
聽 聽local aaUser := AllTrim(aUser)
聽 聽local aaPass := AllTrim(aPass)
聽 聽local aCadena := aaUser+":"+aaPass
聽 聽curl_global_init()
聽 聽if ! empty( hCurl := curl_easy_init() )
聽 聽 聽 curl_easy_setopt( hCurl, HB_CURLOPT_PROTOCOLS, HB_CURLPROTO_FTP) //HB_CURLPROTO_SFTP)
聽 聽 聽 curl_easy_setopt( hCurl, HB_CURLOPT_URL, cUrlFileName )
聽 聽 聽 curl_easy_setopt( hCurl, HB_CURLOPT_DL_BUFF_SETUP )
聽 聽 聽 curl_easy_setopt( hCurl, HB_CURLOPT_UPLOAD )
聽 聽 聽 curl_easy_setopt( hCurl, HB_CURLOPT_UL_FILE_SETUP, cFileName )
聽 聽 聽 curl_easy_setopt( hCurl, HB_CURLOPT_INFILESIZE, hb_vfSize( cFileName ) )
聽 聽 聽 curl_easy_setopt( hCurl, HB_CURLOPT_USERPWD, aCadena )
聽 聽 聽 curl_easy_setopt( hCurl, HB_CURLOPT_TCP_KEEPALIVE, 1 )
聽 聽 聽 curl_easy_setopt( hCurl, HB_CURLOPT_SSL_VERIFYHOST, 0 )
聽 聽 聽 curl_easy_setopt( hCurl, HB_CURLOPT_SSL_VERIFYPEER, 0 )
聽 聽 聽 curl_easy_setopt( hCurl, HB_CURLOPT_VERBOSE, 1 )
聽 聽 聽 curl_easy_setopt( hCurl, HB_CURLOPT_USE_SSL, 0 )
聽 聽 聽 if ( nResult := curl_easy_perform( hCurl ) ) == 0
聽 聽 聽 聽 聽 聽nResult := curl_easy_dl_buff_get( hCurl )
聽 聽 聽 else
聽 聽 聽 聽 聽? "error code:" + Str( nResult )
聽 聽 聽 endif
聽 聽endif
聽 聽curl_global_cleanup()
return nResult@ECHO OFF
CLS
ECHO 脷脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛驴
ECHO ?FWH 64 for Harbour 21.04 (VS64bits) 聽Apr. 2021 聽Harbour development power 聽鲁脺
ECHO ?(c) FiveTech 1993-2021 for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7/8/10 鲁脹
ECHO ? 聽 聽 聽 聽 聽 聽 聽 聽 聽 Modificaci贸n Verhoven 25/06/2021 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽鲁脹
ECHO ? 聽 聽 聽 聽 聽 聽 MS Visual Studio Community 2022 para 64 Bits (29/06/2022) 聽 聽 鲁脹
ECHO ? 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 鲁脹
ECHO ? 聽 Carpetas de la instalaci贸n para que funcione este bat: 聽 聽 聽 聽 聽 聽 聽 聽 聽鲁脹
ECHO ? 聽 聽 聽 聽 聽 FWH 64: 聽 聽 聽C:\FWH64 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 鲁脹
ECHO ? 聽 聽 聽 聽 聽 Harbour 64: 聽C:\harbour64_MVSC_2022 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 鲁脹
ECHO ? 聽 聽 聽 聽 聽 VSC 2022: 聽 聽En la que instala por defecto 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽鲁脹
ECHO ? 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 鲁脹
ECHO ? 聽 聽 聽 聽 聽 MULTIHILOS 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽鲁脹
ECHO ? 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 鲁脹
ECHO ? 聽 Para generar el exe: 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽鲁脹
ECHO ? 聽 聽 聽 聽 聽 聽 聽 聽 聽 build64 MIPROG.PRG genera MIPROG_64.EXE 聽 聽 聽 聽 聽 聽 聽 聽 鲁脹
ECHO 脌脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脵
ECHO 每 脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽
if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST
@set oldpath=%path%
@set oldinclude=%include%
@set oldlib=%lib%
@set oldlibpath=%libpath%
@set current_dir=%cd%
@set path=%path%;C:\harbour64_MVSC_2022\lib\win\msvc64;C:\harbour64_MVSC_2022\include
if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" call "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
if "%FWDIR%" == "" set FWDIR=C:\fwh64
if "%HBDIR%" == "" set HBDIR=C:\harbour64_MVSC_2022
ECHO ***** Compiling with Harbour 64 bytes...
set hdir=%HBDIR%
set hdirl=%HBDIR%\lib\win\msvc64
@cd %current_dir%
%hdir%\bin\win\msvc64\harbour %1 /n /i%FWDIR%\include;%hdir%\include /p /d__64__ %2 %3 > comp.log 2> warnings.log
IF ERRORLEVEL 1 GOTO COMPILEERROR
@type comp.log
@type warnings.log
ECHO .
ECHO ***** Compiling with MSVC 2022 64 bytes...
cl -D__64__ -TP -W3 -O2 -c -I%hdir%\include -I"%ProgramFiles(x86)%\Windows Kits"\10\Include\10.0.22621.0\ucrt %1.c
:ENDCOMPILE
ECHO .
ECHO ***** Compiling Resources with MSVC 2022 64 bytes...
IF EXIST %1.rc "%ProgramFiles(x86)%\\Windows Kits\10\bin\10.0.22621.0\x64\rc" -r -D__64__ %1
echo %1.obj 聽> msvc.tmp
rem echo %fwdir%\lib\FiveH64.lib %fwdir%\lib\FiveHC64.lib %fwdir%\lib\libmariadb64.lib >> msvc.tmp
echo %fwdir%\lib\FiveH64.lib %fwdir%\lib\FiveHC64.lib >> msvc.tmp
echo %fwdir%\lib\hbhpdf64.lib >> msvc.tmp
echo %fwdir%\lib\libhpdf64.lib >> msvc.tmp
echo %hdirl%\hbrtl.lib 聽>> msvc.tmp
rem echo %hdirl%\hbvm.lib 聽>> msvc.tmp 聽NO MULTIHILOS
echo %hdirl%\hbvmmt.lib 聽>> msvc.tmp
echo %hdirl%\gtgui.lib 聽>> msvc.tmp
echo %hdirl%\hblang.lib 聽>> msvc.tmp
echo %hdirl%\hbmacro.lib 聽>> msvc.tmp
echo %hdirl%\hbrdd.lib 聽>> msvc.tmp
echo %hdirl%\rddntx.lib 聽>> msvc.tmp
echo %hdirl%\rddcdx.lib 聽>> msvc.tmp
echo %hdirl%\rddfpt.lib 聽>> msvc.tmp
echo %hdirl%\hbsix.lib 聽>> msvc.tmp
echo %hdirl%\hbdebug.lib 聽>> msvc.tmp
echo %hdirl%\hbcommon.lib 聽>> msvc.tmp
echo %hdirl%\hbpp.lib 聽>> msvc.tmp
echo %hdirl%\hbcpage.lib 聽>> msvc.tmp
echo %hdirl%\hbwin.lib 聽>> msvc.tmp
echo %hdirl%\hbct.lib 聽>> msvc.tmp
echo %hdirl%\hbziparc.lib >> msvc.tmp
echo %hdirl%\hbmzip.lib >> msvc.tmp
echo %hdirl%\hbzlib.lib >> msvc.tmp
echo %hdirl%\hbpcre.lib >> msvc.tmp
echo %hdirl%\minizip.lib >> msvc.tmp
echo %hdirl%\xhb.lib >> msvc.tmp
echo %hdirl%\hbcplr.lib >> msvc.tmp
echo %hdirl%\png.lib >> msvc.tmp
echo %hdirl%\hbtip.lib >> msvc.tmp
echo %hdirl%\hbzebra.lib >> msvc.tmp
echo %hdirl%\libcurl.lib >> msvc.tmp
echo %hdirl%\hbcurl.lib >> msvc.tmp
echo %hdirl%\hbcomm.lib >> msvc.tmp
echo %hdirl%\hbmxml.lib >> msvc.tmp
echo %hdirl%\mxml.lib >> msvc.tmp
rem Uncomment these two lines to use Advantage RDD
rem echo %hdirl%\rddads.lib >> msvc.tmp
rem echo %hdirl%\ace32.lib >> msvc.tmp
echo kernel32.lib 聽>> msvc.tmp
echo user32.lib 聽 聽>> msvc.tmp
echo gdi32.lib 聽 聽 >> msvc.tmp
echo winspool.lib 聽>> msvc.tmp
echo comctl32.lib 聽>> msvc.tmp
echo comdlg32.lib 聽>> msvc.tmp
echo advapi32.lib 聽>> msvc.tmp
echo shell32.lib 聽 >> msvc.tmp
echo ole32.lib 聽 聽 >> msvc.tmp
echo oleaut32.lib 聽>> msvc.tmp
echo uuid.lib 聽 聽 聽>> msvc.tmp
echo odbc32.lib 聽 聽>> msvc.tmp
echo odbccp32.lib 聽>> msvc.tmp
echo iphlpapi.lib 聽>> msvc.tmp
echo mpr.lib 聽 聽 聽 >> msvc.tmp
echo version.lib 聽 >> msvc.tmp
echo wsock32.lib 聽 >> msvc.tmp
echo msimg32.lib 聽 >> msvc.tmp
echo oledlg.lib 聽 聽>> msvc.tmp
echo psapi.lib 聽 聽 >> msvc.tmp
echo gdiplus.lib 聽 >> msvc.tmp
echo winmm.lib 聽 聽 >> msvc.tmp
echo vfw32.lib 聽 聽 >> msvc.tmp
echo ws2_32.lib 聽 聽>> msvc.tmp
echo wininet.lib 聽>> msvc.tmp
echo urlmon.lib 聽>> msvc.tmp
echo strmiids.lib 聽>> msvc.tmp
IF EXIST %1.res echo %1.res >> msvc.tmp
ECHO .
ECHO ***** 聽Linking with MSVC 2022...
link @msvc.tmp /nologo /subsystem:windows /force:multiple /OUT:%1_64.exe
IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built *
%1_64.exe
GOTO EXIT
ECHO
:COMPILEERROR
ECHO .
ECHO ********************
ECHO * Compiling errors *
@type comp.log
@type warnings.log
ECHO * 聽 聽 聽 聽 聽 聽 聽 聽 聽*
ECHO ********************
GOTO EXIT
:LINKERROR
ECHO .
ECHO ********************
ECHO * 聽Linking errors 聽*
GOTO EXIT
:SINTAX
ECHO 聽 聽SYNTAX: Build [Program] 聽 聽 {-- No especifiques la extensi贸n PRG
ECHO 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽{-- Don't specify .PRG extension
GOTO EXIT
:NOEXIST
ECHO The specified PRG %1 does not exist
:EXIT
rem delete temporary files
@del %1.c
@del %1.obj
@del %1.ppo
@del %1.res
@del msvc.tmp
@del comp.log
@del warnings.log
rem Restaura las variables de ENTORNO
@set path=%oldpath%
@set include=%oldinclude%
@set lib=%oldlib%
@set libpath=%oldlibpath%
@set oldpath=""
@set oldinclude=""
@set oldlib=
@set oldlibpath=function unafuncioncurl( )
聽 聽curl_global_init()
return NIL
libcurl.dll
libeay32.dll
libssh2.dll
ssleay32.dll
zlib1.dll
#include "FiveWin.ch"
function Main()
聽 聽MsgInfo( "ok" )
return nil
function unafuncioncurl( )
聽 聽curl_global_init()
return NIL#include "FiveWin.ch"
function Main()
MsgInfo( unafuncioncurl() )
return nil
function unafuncioncurl( )
curl_global_init()
return nilQue versi贸n de Harbour y de FWH 64 est谩s usando ?