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

Вниз

Открытие УРЛ и очистка кэша   Найти похожие ветки 

 
Lex_! ©   (2005-05-26 16:20) [0]

Имеется такой код:

Function Stat(url:string):String;
var
   lpEntryInfo : PInternetCacheEntryInfo;
   hCacheDir   : LongWord;
   dwEntrySize : LongWord;
   dwLastError : LongWord;

   vHttp: OleVariant;
   s:string;
begin
 try
   vHttp := CreateOleObject("MSXML2.XMLHTTP"); { Requires IE5 Microsoft.XMLHTTP}
   vHttp.open("GET", url, False, EmptyParam, EmptyParam);
   vHttp.send("");
   s:=vHttp.ResponseText;
   stat:=s;
   
   dwEntrySize := 0;
   FindFirstUrlCacheEntry( NIL, TInternetCacheEntryInfo( NIL^ ), dwEntrySize );
   GetMem( lpEntryInfo, dwEntrySize );
   hCacheDir := FindFirstUrlCacheEntry( NIL, lpEntryInfo^, dwEntrySize );
   If ( hCacheDir <> 0 ) Then
       DeleteUrlCacheEntry( lpEntryInfo^.lpszSourceUrlName );
   FreeMem( lpEntryInfo );
   Repeat
       dwEntrySize := 0;
       FindNextUrlCacheEntry( hCacheDir, TInternetCacheEntryInfo( NIL^ ), dwEntrySize );
       dwLastError := GetLastError();
       If ( GetLastError = ERROR_INSUFFICIENT_BUFFER ) Then Begin
           GetMem( lpEntryInfo, dwEntrySize );
           If ( FindNextUrlCacheEntry( hCacheDir, lpEntryInfo^, dwEntrySize ) ) Then
               DeleteUrlCacheEntry( lpEntryInfo^.lpszSourceUrlName );
           FreeMem(lpEntryInfo);
       End;
   Until ( dwLastError = ERROR_NO_MORE_ITEMS );

 except
   stat:="Ошибка";
 end;
end;

Очищается ВЕСЬ кэш, как можно сделать чтобы удалялся из кеша только URL а не всё что в нем есть?...
ЗЫ - заранее предвидя вопрос зачем оно надо: процедура используется в цикле, и если не очищаю кэш то повторное использование дет тот же результат что и первое ... (на повторяющихся УРЛах.)


 
Lex_! ©   (2005-05-27 06:31) [1]

:о\
мда...


 
Lex_! ©   (2005-05-27 10:41) [2]

Спасибо что откликнулись ...... :о\ ...
сделал так:

Function Stat(url:string):String;
var
   lpEntryInfo : PInternetCacheEntryInfo;
   hCacheDir   : LongWord;
   dwEntrySize : LongWord;
   dwLastError : LongWord;

   vHttp: OleVariant;
   s:string;
begin
 try
   vHttp := CreateOleObject("MSXML2.XMLHTTP"); { Requires IE5 Microsoft.XMLHTTP}
   vHttp.open("GET", url, False, EmptyParam, EmptyParam);
   vHttp.send("");
   s:=vHttp.ResponseText;
   stat:=s;

   dwEntrySize := 0;
   FindFirstUrlCacheEntry( NIL, TInternetCacheEntryInfo( NIL^ ), dwEntrySize );
   GetMem( lpEntryInfo, dwEntrySize );
   hCacheDir := FindFirstUrlCacheEntry( NIL, lpEntryInfo^, dwEntrySize );
   If ( hCacheDir <> 0 ) Then
       if lpEntryInfo^.lpszSourceUrlName=url then
       DeleteUrlCacheEntry( lpEntryInfo^.lpszSourceUrlName );
   FreeMem( lpEntryInfo );
   Repeat
       dwEntrySize := 0;
       FindNextUrlCacheEntry( hCacheDir, TInternetCacheEntryInfo( NIL^ ), dwEntrySize );
       dwLastError := GetLastError();
       If ( GetLastError = ERROR_INSUFFICIENT_BUFFER ) Then Begin
           GetMem( lpEntryInfo, dwEntrySize );
           If ( FindNextUrlCacheEntry( hCacheDir, lpEntryInfo^, dwEntrySize ) ) Then
               if lpEntryInfo^.lpszSourceUrlName=url then
               DeleteUrlCacheEntry( lpEntryInfo^.lpszSourceUrlName );
           FreeMem(lpEntryInfo);
       End;
   Until ( dwLastError = ERROR_NO_MORE_ITEMS );

 except
   stat:="Ошибка";
 end;
end;


вроде работает ....



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

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

Наверх




Память: 0.45 MB
Время: 0.01 c
3-1122982788
PAI
2005-08-02 15:39
2005.09.18
Динамическое реструктурирование таблиц.


3-1123480511
Ирина
2005-08-08 09:55
2005.09.18
Как перенести поле записи в чеклистбокс?


14-1123446350
alex-drob
2005-08-08 00:25
2005.09.18
Как определить поломку


14-1124958106
Cosinus
2005-08-25 12:21
2005.09.18
Помогите с решением тригонометрического уравнения...


2-1123677341
MS-REM
2005-08-10 16:35
2005.09.18
Три проблемы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский