Главная страница
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.008 c
2-1306258603
Drowsy
2011-05-24 21:36
2011.09.11
Не выполняются операторы EXECUTE BLOCK.


2-1306717948
Lutdan
2011-05-30 05:12
2011.09.11
Rave Reports ошибка


15-1305564549
Leon-Z
2011-05-16 20:49
2011.09.11
Delphi 2005 и Delphi 7.


2-1306312189
kirat
2011-05-25 12:29
2011.09.11
TreeView Цветные строки


2-1304775275
Alexlafa
2011-05-07 17:34
2011.09.11
Программирование базы данных MS Access в Delphi 7