Главная страница
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.005 c
2-1306129367
vasja123
2011-05-23 09:42
2011.09.11
ошибка при инициализации MCI


1-1266036298
reqyz
2010-02-13 07:44
2011.09.11
Переходник между чужим приложением и его файлами


15-1306158593
Leon-Z
2011-05-23 17:49
2011.09.11
Зачем программисту несколько мониторов?


1-1229581585
Alexander_K
2008-12-18 09:26
2011.09.11
Запуск программы с параметром из ссылки


2-1306693281
Brutalis
2011-05-29 22:21
2011.09.11
смоделировать простого робота так чтобы он двигался по заданным з