Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 20.08.2012, 00:52   #1
Pack
 
Регистрация: 09.02.2012
Сообщений: 8
По умолчанию URLDownloadToFileA

Здравствуйте. есть значит такой код
Код:
function UrlDownLoadToFile(Caller,URL,FileName: PAnsiChar; Reserved: LongWord; StatusCB: Pointer): LongWord;
stdcall; external 'urlmon.dll' name 'URLDownloadToFileA';

UrlDownLoadToFile(nil, 'http://host.com/file.exe', 'c:\1.exe', 0, nil);
все прекрасно работает, но мне нужно так

Код:
procedure DownloadFile;
var
  urlmon: THandle;
  UrlDownLoadToFile : function(Caller,URL,FileName: PAnsiChar; Reserved: LongWord; StatusCB: Pointer): LongWord;
begin
  urlmon := LoadLibrary('urlmon.dll');
  UrlDownLoadToFile := GetProcAddress(GetModuleHandle('urlmon.dll'), 'URLDownloadToFileA');
  UrlDownLoadToFile(nil, 'http://host.com/file.exe', 'c:\1.exe', 0, nil);
  FreeLibrary(urlmon);
end;
но данный код не работает, падает с ошибкой. подскажите что я делаю не так, заранее спасибо!
Pack вне форума Ответить с цитированием
Старый 20.08.2012, 06:30   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,103
По умолчанию

Цитата:
UrlDownLoadToFile := GetProcAddress(GetModuleHandle('url mon.dll'), 'URLDownloadToFileA');
Зачем ГетМодулеХендл здесь? ЛоадЛайбрери просто так была?

Раз уже лезете в винапи, то читайте ж мсдн и примеры смотрите.
p51x вне форума Ответить с цитированием
Старый 20.08.2012, 13:59   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,455
По умолчанию

Все фигня. Где проверка на валидные дескрипторы? if hLib <> 0 then, if Func <> nil then
Человек_Борща вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы



Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS