Показать сообщение отдельно
  #2  
Старый 30.08.2013, 15:25
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

как вариант:
Код:
interface

uses
  SyncObjs,
...
implementation

var
  CriticalSection: TCriticalSection;

function GetMemo: String;
begin
  CriticalSection.Enter;
  if Form1.Memo1.Lines.Count>0 then
  begin
    Result:=Form1.Memo1.Lines[0];
    Form1.Memo1.Lines.Delete(0);
  end else Result:='';
  CriticalSection.Leave;
end;
...
initialization
  CriticalSection:=TCriticalSection.Create;

finalization
  CriticalSection.Free;

из потоков вызывай GetMemo.

если удалять нельзя, то завести текущий номер строки и в блоке Enter-Leave возвращать строку по номеру и делать номеру инкремент.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием