Показать сообщение отдельно

  #12  
Старый 29.06.2007, 20:44
4e4en
Новичок
Регистрация: 25.06.2007
Сообщений: 5
Провел на форуме:
20234

Репутация: 11
По умолчанию

Why this isn't working?

Код:
     hT := CreateThread(nil, 0, @GetInetPageSRCasThread, @msg, 0, ThID);

     while( true )do
     begin
          if GetExitCodeThread(hT,exC) then exit;
          if exC <> STILL_ACTIVE then exit;

          application.ProcessMessages;
          WaitForSingleObject(hT, 100);
     end;

     //TerminateThread(hT, 0);

     ShowMessage(GetInetPageSRCasThread_ret);
Код:
function GetInetPageSRCasThread(const fileURL: String):dword;
const
  BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of char;
  BufferLen: DWORD;
  sAppName: string;
begin
 Result := 0;
 GetInetPageSRCasThread_ret := '';
 sAppName := ExtractFileName(Application.ExeName) ;
 hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0) ;
 try
  hURL := InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0) ;
  try
   repeat
    InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
    GetInetPageSRCasThread_ret := GetInetPageSRCasThread_ret + Copy(string(Buffer),1,BufferLen);
   until (BufferLen = 0) OR (length(string(Buffer)) = 0);
  finally
   InternetCloseHandle(hURL);
  end;
 finally
  InternetCloseHandle(hSession);
 end;

 ExitThread(0);
end;
 
Ответить с цитированием