Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.09.11;
Скачать: CL | DM;

Вниз

не определяется версия приложения   Найти похожие ветки 

 
Handle   (2011-05-31 11:42) [0]

Приложение проверяет наличие обновлений на веб-сервере. Для этого формируется HTTP-запрос, который включает в себя текущую версию приложения (для определения текущей версии написана функция GetValue).


function GetVersion(const ExeFileName: string): string;
const
 InfoNum = 10;
 InfoStr: array[1..InfoNum] of string = ("CompanyName", "FileDescription", "FileVersion", "InternalName", "LegalCopyright", "LegalTradeMarks", "OriginalFileName", "ProductName", "ProductVersion", "Comments");
var
 N, Len: DWORD;
 Buf: PChar;
 X: PVSFixedFileInfo;
begin
 Result := "";
 N := GetFileVersionInfoSize(PChar(ExeFileName), N);
 if N > 0 then
 begin
   GetMem(Buf, N);
   try
     GetFileVersionInfo(PChar(ExeFileName), 0, N, Pointer(Buf));
     if VerQueryValue(Buf, "\", Pointer(X), Len) then
       Result := IntToStr(HIWORD(X^.dwFileVersionMS)) +
      "." + IntToStr(LOWORD(X^.dwFileVersionMS)) +
       "." + IntToStr(HIWORD(X^.dwFileVersionLS)) +
        "." + IntToStr(LOWORD(X^.dwFileVersionLS));
   finally
     FreeMem(Buf);
   end;
 end;
 if Length(Result) = 0 then
   Result := const_msg_VersionError;
end;


Почемуто функция иногда не может определить версию (хотя информацию о версии исполняемый файл содержит), в результате чего неправильно формируется HTTP-запрос. Что может быть не так?


 
sniknik ©   (2011-05-31 11:55) [1]

> Что может быть не так?
может ищешь не там... результаты запросов вообще то кэшируются (могут), и некоторые кэшируюшие прокси даже не обращают внимания на заголовки (ну там поле ехпаред)... т.е. можешь получать старые данные когда на сервере уже все давно поменялось.

можно подставить дату со временем в фиктивный параметр запроса и посмотреть... url тогда будет всегда уникальный, и кэш работать не будет.



Страницы: 1 вся ветка

Текущий архив: 2011.09.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
1-1266238962
Дмитрий Белькевич
2010-02-15 16:02
2011.09.11
Разрушение объекта при двойном щелчке на объекте


2-1306570483
Очень злой
2011-05-28 12:14
2011.09.11
Сделать нормальной ширину колонки в DBGRID


15-1306184686
R_R
2011-05-24 01:04
2011.09.11
Как в delphi одинарную ковычку вставить в строку?


2-1306067684
Drowsy
2011-05-22 16:34
2011.09.11
ODS.


15-1306242368
Andy BitOff
2011-05-24 17:06
2011.09.11
Sharp показала первый в мире дисплей Super Hi-Vision