Показать сообщение отдельно
  #3  
Старый 30.08.2013, 16:52
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Немного добавлю в код:
Код:
interface

uses
  SyncObjs,
...
implementation

var
  CriticalSection: TCriticalSection;

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

finalization
  CriticalSection.Free;
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием