(* FILE *file=NULL; void CALLBACK MyDownloadProc(const void *buffer, DWORD length, void *user) { if (!file) file=fopen("afile.mp3", "wb"); // create the file if (!buffer) fclose(file); // finished downloading else fwrite(buffer, 1, length, file); } *) var fs:TFileStream=nil; procedure MyDownloadProc(buffer:Pointer;Length:DWORD;user:Pointer);stdcall; begin if (fs=nil) then begin if not FileExists('afile.mp3') then begin fs:=TFileStream.Create('afile.mp3',fmCreate); fs.Free; end; fs:=TFileStream.Create('afile.mp3',fmOpenReadWrite OR fmShareDenyNone); fs.Seek(0,soEnd); end; if buffer=nil then begin fs.free; fs := nil; end else begin fs.WriteBuffer(buffer^,Length); end; end;
----------------------------------------------
-