B4rr4cudaДа не, там есть возможность задать функцию закачки. Проблема решена(все равно спасибо за попытку помочь), там будет примерно такой код:
- Код: Выделить всё
- {$mode objfpc}
 {$H+}
 program teststream;
 
 uses classes,libcurl,unixtype;
 
 type Ptextfile= ^textfile;
 
 Function DoWrite(Ptr : Pointer; Size : size_t; nmemb: size_t; Data : Pointer) : size_t;cdecl;
 
 begin
 Result:=TStream(Data).Write(Ptr^,Size*nmemb);
 end;
 
 Function DoProgress(text: Ptextfile; dltotal:double; dlnow:double; ultotal:double; ulnow:double):longint;cdecl;
 Begin
 writeln(dltotal,'        ',dlnow);
 End;
 
 Var
 f : TFileStream;
 test:textfile;
 URL : Pchar = 'http://www.freepascal.org';
 hCurl : pCurl;
 
 begin
 F:=TFileStream.Create('fpc.html',fmCreate);
 assign(test,'test.txt');
 rewrite(test);
 Try
 hCurl:= curl_easy_init;
 if Assigned(hCurl) then
 begin
 curl_easy_setopt(hCurl,CURLOPT_VERBOSE, [True]);
 curl_easy_setopt(hCurl,CURLOPT_URL,[URL]);
 curl_easy_setopt(hCurl,CURLOPT_WRITEFUNCTION,[@DoWrite]);
 curl_easy_setopt(hCurl,CURLOPT_WRITEDATA,[Pointer(F)]);
 curl_easy_setopt(hCurl,CURLOPT_NOPROGRESS,[0]);
 curl_easy_setopt(hCurl,CURLOPT_PROGRESSFUNCTION,[@DoProgress]);
 curl_easy_setopt(hCurl,CURLOPT_PROGRESSDATA,[@test]);
 curl_easy_perform(hCurl);
 curl_easy_cleanup(hCurl);
 end;
 Finally
 F.Free;
 close(test);
 end;
 end.
 
Вместо Ptextfile может выступать любой поинтер, этот осталься от варианта записи лога в файл. Только раньше этот код ничего на экран не выводил, но после переустановки fpc все запахало. До сих пор не понимаю почему.