Форум: "Начинающим";
Текущий архив: 2011.09.11;
Скачать: [xml.tar.bz2];
Внизне определяется версия приложения Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c