Hay unas cositas mal pero como todavía no comprendo bien ASM y los tipos de datos de delphi lo dejo así.
Código: Seleccionar todo
Function Download(Url,Ruta:string):integer;
Var
HCall:Pointer;
begin
HCall := GetProcAddress(LoadLibrary('urlmon.dll'),'URLDownloadToFileA');
//showmessage(inttostr(integer(HCall)));
asm
XOR EBX, EBX
PUSH 0
PUSH 0
PUSH Ruta
PUSH Url
PUSH 0
MOV EAX, HCall
CALL EAX
PUSH EBX
POP EAX
end;
end;