Текущий архив: 2003.03.03;
Скачать: CL | DM;
ВнизWinInet + проверка новой версии через Инет Найти похожие ветки
← →
MARcoDEN (2003-01-12 12:31) [0]Здравствуйте, уважаемые мастера! Объясните, пожалуйста, почему нижеследующая функция не возвращает никакого результата? (эта функция проверяет наличие новой версии программы на вебсайте; версия на веб-странице отображается в виде <!--rev-№>)
uses ShellAPI, WinInet;
function CheckUpdate: Boolean;
type
tbuffer = array[0..1023] of char;
pbuffer = ^TBuffer;
var
buffer: pBuffer;
a,b: dword;
ihConnect, iDocument: HINTERNET;
//pBuf: pointer;
URL, HomePage: pChar;
Revision: byte;
begin
result:=false;
URL:=" http://marcoden.hoha.ru/update.htm";
HomePage:=" http://marcoden.hoha.ru/";
ihConnect:=InternetOpen("Modzilla/2.0 (Updater)", LOCAL_INTERNET_ACCESS, "", "", 0);
iDocument:=InternetOpenURL(ihConnect, URL, nil, 0, INTERNET_FLAG_RELOAD or INTERNET_FLAG_DONT_CACHE or INTERNET_FLAG_RAW_DATA, 0);
if iDocument<>NIL then
try
New(buffer);
InternetReadFile(iDocument, Buffer, sizeof(TBuffer), a);
Buffer^[a]:=#0;
a:=pos("<!--rev",AnsiLowercase(string(buffer^)));
if a>0 then
begin
b:=a+6;
while buffer[b] in ["0".."9"," "] do inc(b);
result:=StrToIntDef(Trim(Copy(string(Buffer^),a+7,b-a-7)),0)>Revision;
end;
try
case result of
true : if MessageDlg("Доступна новая версия программы. Хотите зайти на сайт?",
mtInformation, [mbYes, mbNo], 0) = mrYes
then ShellExecute(Application.Handle, "open", Homepage,"","", SW_SHOWNORMAL);
end;
finally
result:=true;
end;
finally
InternetCloseHandle(iDocument);
Dispose(buffer);
InternetCloseHandle(ihConnect);
end;
end;
Заранее благодарен!
С уважением,
MARcoDEN
← →
MARcoDEN (2003-01-13 20:58) [1]Ну что?! Неужели нет людей, разбирающихся в Инет программировании???
← →
Reindeer Moss Eater (2003-01-14 11:50) [2]А нет функций, не возвращающих результата. Совсем.
Ты ошибся. :)
← →
MARcoDEN (2003-01-14 16:35) [3]Нет, я имел ввиду, что из-за какой-то ошибки ф-ция некорректно возвращает значение.
← →
Reindeer Moss Eater (2003-01-14 16:36) [4]Уверен что фунция виновата? Она так себя ведет на всех серверах со всеми ресурсами?
Страницы: 1 вся ветка
Текущий архив: 2003.03.03;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.039 c