@@ -24,6 +24,12 @@ interface
2424 IeUserAgent = ' Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko' ;
2525 EdgeUserAgent = ' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393' ;
2626
27+ { $IFDEF WIN64}
28+ CurlDllName = ' libcurl-x64.dll' ;
29+ { $ELSE}
30+ CurlDllName = ' libcurl.dll' ;
31+ { $ENDIF}
32+
2733type
2834 // Primitive cUrl types
2935 TUnixTime = NativeUInt;
@@ -1681,8 +1687,8 @@ TCurlKhKey = record
16811687
16821688// curl_strequal() and curl_strnequal() are subject for removal in a future
16831689// libcurl, see lib/README.curlx for details
1684- function curl_strequal (s1, s2 : PAnsiChar) : integer; cdecl; external ' libcurl.dll ' ;
1685- function curl_strnequal (s1, s2 : PAnsiChar; n : NativeUInt) : integer; cdecl; external ' libcurl.dll ' ;
1690+ function curl_strequal (s1, s2 : PAnsiChar) : integer; cdecl; external CurlDllName ;
1691+ function curl_strnequal (s1, s2 : PAnsiChar; n : NativeUInt) : integer; cdecl; external CurlDllName ;
16861692
16871693// Mime/form handling support.
16881694type
@@ -1704,7 +1710,7 @@ TCurlMimePartInner = record end;
17041710// Create a mime context and return its handle. The easy parameter is the
17051711// target handle.
17061712//
1707- function curl_mime_init (easy : HCurl) : HCurlMime; cdecl; external ' libcurl.dll ' ;
1713+ function curl_mime_init (easy : HCurl) : HCurlMime; cdecl; external CurlDllName ;
17081714
17091715// NAME curl_mime_free()
17101716//
@@ -1713,7 +1719,7 @@ function curl_mime_init(easy : HCurl) : HCurlMime; cdecl; external 'libcurl.dl
17131719// release a mime handle and its substructures.
17141720//
17151721procedure curl_mime_free (mime : HCurlMime);
1716- cdecl; external ' libcurl.dll ' ;
1722+ cdecl; external CurlDllName ;
17171723
17181724// NAME curl_mime_addpart()
17191725//
@@ -1723,7 +1729,7 @@ procedure curl_mime_free(mime : HCurlMime);
17231729// the created part.
17241730//
17251731function curl_mime_addpart (mime : HCurlMime) : HCurlMimePart;
1726- cdecl; external ' libcurl.dll ' ;
1732+ cdecl; external CurlDllName ;
17271733
17281734// NAME curl_mime_name()
17291735//
@@ -1732,7 +1738,7 @@ function curl_mime_addpart(mime : HCurlMime) : HCurlMimePart;
17321738// Set mime/form part name.
17331739//
17341740function curl_mime_name (part : HCurlMimePart; name : PAnsiChar) : TCurlCode;
1735- cdecl; external ' libcurl.dll ' ;
1741+ cdecl; external CurlDllName ;
17361742
17371743// NAME curl_mime_filename()
17381744//
@@ -1742,7 +1748,7 @@ function curl_mime_name(part : HCurlMimePart; name : PAnsiChar) : TCurlCode;
17421748//
17431749function curl_mime_filename (
17441750 Part : HCurlMimePart; filename : PAnsiChar) : TCurlCode;
1745- cdecl; external ' libcurl.dll ' ;
1751+ cdecl; external CurlDllName ;
17461752
17471753//
17481754// NAME curl_mime_type()
@@ -1752,7 +1758,7 @@ function curl_mime_filename(
17521758// Set mime part type.
17531759//
17541760function curl_mime_type (part : HCurlMime; mimetype : PAnsiChar) : TCurlCode;
1755- cdecl; external ' libcurl.dll ' ;
1761+ cdecl; external CurlDllName ;
17561762
17571763// NAME curl_mime_encoder()
17581764//
@@ -1762,7 +1768,7 @@ function curl_mime_type(part : HCurlMime; mimetype : PAnsiChar) : TCurlCode;
17621768//
17631769function curl_mime_encoder (
17641770 part : HCurlMimePart; encoding : PAnsiChar) : TCurlCode;
1765- cdecl; external ' libcurl.dll ' ;
1771+ cdecl; external CurlDllName ;
17661772
17671773// NAME curl_mime_data()
17681774//
@@ -1772,7 +1778,7 @@ function curl_mime_encoder(
17721778//
17731779function curl_mime_data (
17741780 part : HCurlMimePart; data : Pointer; datasize : NativeUint) : TCurlCode;
1775- cdecl; external ' libcurl.dll ' ;
1781+ cdecl; external CurlDllName ;
17761782
17771783// NAME curl_mime_filedata()
17781784//
@@ -1782,7 +1788,7 @@ function curl_mime_data(
17821788//
17831789function curl_mime_filedata (
17841790 part : HCurlMimePart; filename : PAnsiChar) : TCurlCode;
1785- cdecl; external ' libcurl.dll ' ;
1791+ cdecl; external CurlDllName ;
17861792
17871793// NAME curl_mime_data_cb()
17881794//
@@ -1797,7 +1803,7 @@ function curl_mime_data_cb(
17971803 seekfunc : EvCurlSeek;
17981804 freefunc : EvCurlFree;
17991805 arg : pointer) : TCurlCode;
1800- cdecl; external ' libcurl.dll ' ;
1806+ cdecl; external CurlDllName ;
18011807
18021808// NAME curl_mime_subparts()
18031809//
@@ -1807,7 +1813,7 @@ function curl_mime_data_cb(
18071813//
18081814function curl_mime_subparts (
18091815 part : HCurlMimePart; subparts : HCurlMime) : TCurlCode;
1810- cdecl; external ' libcurl.dll ' ;
1816+ cdecl; external CurlDllName ;
18111817
18121818// NAME curl_mime_headers()
18131819//
@@ -1819,7 +1825,7 @@ function curl_mime_headers(
18191825 part : HCurlMimePart;
18201826 headers : PCurlSList;
18211827 take_ownership : integer) : TCurlCode;
1822- cdecl; external ' libcurl.dll ' ;
1828+ cdecl; external CurlDllName ;
18231829
18241830
18251831type
@@ -1902,7 +1908,7 @@ TCurlForms = record
19021908//
19031909function curl_formadd_initial (
19041910 var httppost, last_post : PCurlHttpPost) : TCurlFormCode;
1905- varargs; cdecl; external ' libcurl.dll ' name ' curl_formadd' ;
1911+ varargs; cdecl; external CurlDllName name ' curl_formadd' ;
19061912
19071913function curl_formadd (
19081914 var httppost, last_post : PCurlHttpPost;
@@ -2034,15 +2040,15 @@ function curl_formget(
20342040 form : PCurlHttpPost;
20352041 arg : pointer;
20362042 append : EvCurlFormGet) : integer;
2037- cdecl; external ' libcurl.dll ' ;
2043+ cdecl; external CurlDllName ;
20382044
20392045// NAME curl_formfree()
20402046//
20412047// DESCRIPTION
20422048//
20432049// Free a multipart formpost previously built with curl_formadd().
20442050procedure curl_formfree (form : PCurlHttpPost);
2045- cdecl; external ' libcurl.dll ' ;
2051+ cdecl; external CurlDllName ;
20462052
20472053// NAME curl_getenv()
20482054//
@@ -2051,15 +2057,15 @@ procedure curl_formfree(form : PCurlHttpPost);
20512057// Returns a malloc()'ed string that MUST be curl_free()ed after usage is
20522058// complete. DEPRECATED - see lib/README.curlx
20532059function curl_getenv (variable : PAnsiChar) : PAnsiChar;
2054- cdecl; external ' libcurl.dll ' ;
2060+ cdecl; external CurlDllName ;
20552061
20562062// NAME curl_version()
20572063//
20582064// DESCRIPTION
20592065//
20602066// Returns a static ascii string of the libcurl version.
20612067function curl_version : PAnsiChar;
2062- cdecl; external ' libcurl.dll ' ;
2068+ cdecl; external CurlDllName ;
20632069
20642070// NAME curl_easy_escape()
20652071//
@@ -2072,13 +2078,13 @@ function curl_easy_escape(
20722078 handle : HCurl;
20732079 str : PAnsiChar;
20742080 length : integer) : PAnsiChar;
2075- cdecl; external ' libcurl.dll ' ;
2081+ cdecl; external CurlDllName ;
20762082
20772083// the previous version:
20782084function curl_escape (
20792085 str : PAnsiChar;
20802086 length : integer) : PAnsiChar;
2081- cdecl; external ' libcurl.dll ' ;
2087+ cdecl; external CurlDllName ;
20822088
20832089
20842090// NAME curl_easy_unescape()
@@ -2096,13 +2102,13 @@ function curl_easy_unescape(
20962102 str : PAnsiChar;
20972103 length : integer;
20982104 var outlength : integer) : PAnsiChar;
2099- cdecl; external ' libcurl.dll ' ;
2105+ cdecl; external CurlDllName ;
21002106
21012107// the previous version
21022108function curl_unescape (
21032109 str : PAnsiChar;
21042110 length : integer) : PAnsiChar;
2105- cdecl; external ' libcurl.dll ' ;
2111+ cdecl; external CurlDllName ;
21062112
21072113// NAME curl_free()
21082114//
@@ -2112,7 +2118,7 @@ function curl_unescape(
21122118// allocation. Added in libcurl 7.10
21132119//
21142120procedure curl_free (p : pointer);
2115- cdecl; external ' libcurl.dll ' ;
2121+ cdecl; external CurlDllName ;
21162122
21172123// NAME curl_global_init()
21182124//
@@ -2124,7 +2130,7 @@ procedure curl_free(p : pointer);
21242130// This function is not thread-safe!
21252131//
21262132function curl_global_init (flags : longint) : TCurlCode;
2127- cdecl; external ' libcurl.dll ' ;
2133+ cdecl; external CurlDllName ;
21282134
21292135// NAME curl_global_init_mem()
21302136//
@@ -2144,7 +2150,7 @@ function curl_global_init_mem(
21442150 r : EvCurlRealloc;
21452151 s : EvCurlStrDup;
21462152 c : EvCurlCalloc) : TCurlCode;
2147- cdecl; external ' libcurl.dll ' ;
2153+ cdecl; external CurlDllName ;
21482154
21492155// NAME curl_global_cleanup()
21502156//
@@ -2154,7 +2160,7 @@ function curl_global_init_mem(
21542160// that uses libcurl
21552161//
21562162procedure curl_global_cleanup ;
2157- cdecl; external ' libcurl.dll ' ;
2163+ cdecl; external CurlDllName ;
21582164
21592165// NAME curl_slist_append()
21602166//
@@ -2165,7 +2171,7 @@ procedure curl_global_cleanup;
21652171//
21662172function curl_slist_append (
21672173 list : PCurlSList; data : PAnsiChar) : PCurlSList;
2168- cdecl; external ' libcurl.dll ' ;
2174+ cdecl; external CurlDllName ;
21692175
21702176// NAME curl_slist_free_all()
21712177//
@@ -2174,7 +2180,7 @@ function curl_slist_append(
21742180// free a previously built curl_slist.
21752181//
21762182procedure curl_slist_free_all (list : PCurlSList);
2177- cdecl; external ' libcurl.dll ' ;
2183+ cdecl; external CurlDllName ;
21782184
21792185// NAME curl_getdate()
21802186//
@@ -2187,7 +2193,7 @@ procedure curl_slist_free_all(list : PCurlSList);
21872193function curl_getdate (
21882194 p : PAnsiChar;
21892195 unused : TUnixTime = 0 ) : TUnixTime;
2190- cdecl; external ' libcurl.dll ' ;
2196+ cdecl; external CurlDllName ;
21912197
21922198// info about the certificate chain, only for OpenSSL builds. Asked
21932199// for with CURLOPT_CERTINFO / CURLINFO_CERTINFO
@@ -2389,15 +2395,15 @@ TCurlTlsSessionInfo = record
23892395 ); // callback functions
23902396
23912397function curl_share_init : TCurlSh;
2392- cdecl; external ' libcurl.dll ' ;
2398+ cdecl; external CurlDllName ;
23932399
23942400function curl_share_setopt (
23952401 share : TCurlSh;
23962402 option : TCurlShOption) : TCurlShCode; varargs;
2397- cdecl; external ' libcurl.dll ' ;
2403+ cdecl; external CurlDllName ;
23982404
23992405function curl_share_cleanup (share : TCurlSh) : TCurlShCode;
2400- cdecl; external ' libcurl.dll ' ;
2406+ cdecl; external CurlDllName ;
24012407
24022408// ****************************************************************************
24032409// Structures for querying information about the curl library at runtime.
@@ -2479,7 +2485,7 @@ TCurlVersionInfo = record
24792485//
24802486function curl_version_info (
24812487 x : TCurlVersion = CURLVERSION_NOW) : PCurlVersionInfo;
2482- cdecl; external ' libcurl.dll ' ;
2488+ cdecl; external CurlDllName ;
24832489
24842490
24852491// NAME curl_easy_strerror()
@@ -2491,7 +2497,7 @@ function curl_version_info(
24912497// for printing meaningful error messages.
24922498//
24932499function curl_easy_strerror (code : TCurlCode) : PAnsiChar;
2494- cdecl; external ' libcurl.dll ' name ' curl_easy_strerror' ;
2500+ cdecl; external CurlDllName name ' curl_easy_strerror' ;
24952501
24962502// NAME curl_share_strerror()
24972503//
@@ -2502,7 +2508,7 @@ function curl_easy_strerror(code : TCurlCode) : PAnsiChar;
25022508// for printing meaningful error messages.
25032509//
25042510function curl_share_strerror (code : TCurlShCode) : PAnsiChar;
2505- cdecl; external ' libcurl.dll ' ;
2511+ cdecl; external CurlDllName ;
25062512
25072513
25082514// NAME curl_easy_pause()
@@ -2513,7 +2519,7 @@ function curl_share_strerror(code : TCurlShCode) : PAnsiChar;
25132519// state by setting the bitmask, use the convenience defines below.
25142520//
25152521function curl_easy_pause (handle : HCurl; bitmask : integer) : TCurlCode;
2516- cdecl; external ' libcurl.dll ' ;
2522+ cdecl; external CurlDllName ;
25172523
25182524const
25192525 CURLPAUSE_RECV = 1 shl 0 ;
@@ -2526,11 +2532,11 @@ function curl_easy_pause(handle : HCurl; bitmask : integer) : TCurlCode;
25262532
25272533
25282534function curl_easy_init : HCurl;
2529- cdecl; external ' libcurl.dll ' ;
2535+ cdecl; external CurlDllName ;
25302536
25312537function curl_easy_setopt_initial (
25322538 curl : HCurl) : TCurlCode; varargs;
2533- cdecl; external ' libcurl.dll ' name ' curl_easy_setopt' ;
2539+ cdecl; external CurlDllName name ' curl_easy_setopt' ;
25342540
25352541function curl_easy_setopt (
25362542 curl : HCurl;
@@ -2608,10 +2614,10 @@ function curl_easy_setopt(
26082614 data : TCurlSslVersion) : TCurlCode; overload; inline;
26092615
26102616function curl_easy_perform (curl : HCurl) : TCurlCode;
2611- cdecl; external ' libcurl.dll ' ;
2617+ cdecl; external CurlDllName ;
26122618
26132619procedure curl_easy_cleanup (curl : HCurl);
2614- cdecl; external ' libcurl.dll ' ;
2620+ cdecl; external CurlDllName ;
26152621
26162622// NAME curl_easy_getinfo()
26172623//
@@ -2627,7 +2633,7 @@ procedure curl_easy_cleanup(curl : HCurl);
26272633
26282634function curl_easy_getinfo_initial (
26292635 curl : HCurl) : TCurlCode; varargs;
2630- cdecl; external ' libcurl.dll ' name ' curl_easy_getinfo' ;
2636+ cdecl; external CurlDllName name ' curl_easy_getinfo' ;
26312637
26322638function curl_easy_getinfo (
26332639 curl : HCurl;
@@ -2684,7 +2690,7 @@ function curl_easy_getinfo(
26842690//
26852691function curl_easy_duphandle (
26862692 curl : HCurl) : HCurl;
2687- cdecl; external ' libcurl.dll ' ;
2693+ cdecl; external CurlDllName ;
26882694
26892695
26902696 // NAME curl_easy_reset()
@@ -2698,7 +2704,7 @@ function curl_easy_duphandle(
26982704// cookies.
26992705//
27002706procedure curl_easy_reset (curl : HCurl);
2701- cdecl; external ' libcurl.dll ' ;
2707+ cdecl; external CurlDllName ;
27022708
27032709
27042710// NAME curl_easy_recv()
@@ -2713,7 +2719,7 @@ function curl_easy_recv(
27132719 var buffer;
27142720 buflen : NativeUInt;
27152721 out n : NativeUInt) : TCurlCode;
2716- cdecl; external ' libcurl.dll ' ;
2722+ cdecl; external CurlDllName ;
27172723
27182724
27192725// NAME curl_easy_send()
@@ -2728,7 +2734,7 @@ function curl_easy_send(
27282734 var buffer;
27292735 buflen : NativeUint;
27302736 out n : NativeUInt) : TCurlCode;
2731- cdecl; external ' libcurl.dll ' ;
2737+ cdecl; external CurlDllName ;
27322738
27332739// #define curl_share_setopt(share,opt,param) curl_share_setopt(share,opt,param)
27342740// #define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param)
0 commit comments