Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.03.2013, 19:17
Pcrepair
 
Сообщения: n/a
По умолчанию Как сделать в процедуре Event?

Добрый день. Есть модуль(упрощенно):

Код:
unit uHtmlPageLoader;
interface
uses StrUtils,SysUtils, idHTTP,IdSSL, IdSSLOpenSSL,Dialogs,
     IdCompressorZLib,Classes,Windows;

     procedure HtmlPageLoader(AUrl,Search:string; Trth1,Trth2:integer);

implementation
uses uMainUnit,ShellAPI; 

procedure HtmlPageLoader(AUrl,Search:string; Trth1,Trth2:integer);
var
HtmlPage,          
ConvertHtmlPage,   
UrlsOut            
:string;
Rating:integer;    
begin
  (*----Получение результа---------------------------------*)
  HtmlPage:=DelTegs(LoadHtmlPage(AUrl));  
  UrlsOut:=GetUrls(HtmlPage,AUrl,Search,Trth2);  
  ConvertHtmlPage:= DelTrash(TegExch2(TegExch1(HtmlPage)), AUrl,Search,Trth1); 
  Rating:=Rate(ConvertHtmlPage,Search); 
  (*--------------------------------------------------------*)

  (*-----Асинхронная передача результата работы процедуры---*)
  if (Rating > 5) then  
     begin  
       gRate:=Rating; (*это ГлобПерем*)
       gUrl:=AUrl;
       gPageUrls:=UrlsOut;
       (*вот тут нужно инициировать процедуру Restore в другом модуле 
         для обработки результатов*)
     end
     else Exit; (*иначе выход из процедуры без передачи результата*)
end;

Если бы это был объект то у него могли бы быть события. но делать класс пока еще рано
Вопрос: как вообще можно передать сигнал в другую процедуру Restore о том что пора обработать данные. можно конечно
таймер приделать, но нежелательно. В самой процедуре HtmlPageLoader вызывать код процедуры Restore тоже нельзя, этот
загрузчик будет запускаться в потоке(несколько HtmlPageLoader одновременно) и оне будут асинхронно передавать результаты в
в процедуру Restore для обработки.
Ответить с цитированием
  #2  
Старый 22.03.2013, 22:06
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от Pcrepair
...как вообще можно передать сигнал в другую процедуру Restore о том что пора обработать данные...
Вызывать её всё равно придётся, сама собой она не отработает. Ключики (флаги) организовать и проверять можно что-то делать в данный момент или нет.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:01.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter