Добрый день. Есть следующая ситуация:
- загрузчик страниц(на базе TidHTTP и TThread) получает список УРЛ и начинает параллельную закачку страниц
- число закачек ограничено 10 (пока)
- закачка страниц происходит асинхронно, каждая в своем потоке, результат закачки переносится в поле типа property Html: string read FHtml write FHtml;
Код:
type
TLoader = class(TThread)
private
FUrl:string;
FHtml:string;
{ Private declarations }
protected
procedure Execute; override;
function LoadHtmlPage(const Url:string):string;
public
property Url: string read FUrl write FUrl;
property Html: string read FHtml write FHtml;
end;
- методом CS, на текущий момент, данные передаются в МЕМО, просто для наглядности. и там накапливаются
--------------------------
Необходим накопитель со следующими параметрами:
- доступность из всех процедур. типа глобальная переменная
- два поля: одно для УРЛ, второе для кода HTML-страницы. может и три, третье - для хранения идентификатора, чтоб не было коллизий
- работающее по принципу стека(тогда третье поле не нужно)
- без использования записи на ЖД в файл. все должно хранится в ОЗУ
++++++++++++++++++++++++++++
Внимание! Вопрос:
на основе чего можно сделать такой накопитель:
- что то слепить из операторов и типов(Списки, строки и все такое). никто не знает ссылок на что то похожее?
- использовать компоненты из палитры, там много чего с DB в названии, но с этими компонентами не знаком совершенно, может кто подскажет, какой компонент подойдет для накопителя?
- использовать ИнтерБейс, или еще какую внешнюю БД. что крайне нежелательно, во всяком случае на текущем этапе.