Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2016, 08:43   #11
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

если асинхронные сокеты и многоядерный процессор, есть мысль обернуть ваш код процедуры в критическую секцию. Объявите переменную FRTL типа TRTLCriticalSection в секции private вашей формы, в конструкторе формы добавьте InitializeCriticalSection(FRTL), в деструкторе DeleteCriticalSection(FRTL). А в самой процедуре по сабжу оберните в марный вызов
Код:
procedure TData.TerminalToCenterClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
temp,otvet : tstrings;
i : integer;
begin
  EnterCriticalSection(FRTL);
  try
    <ваш код процедуры>
  finally
    LeaveCriticalSection(FRTL);
  end;
end;
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странно работает цикл while pr1me222 PHP 8 27.04.2014 01:06
WPF. странно работает тригер D][mon WPF, UWP, WinRT, XAML 1 28.11.2012 09:41
Странно работает Intel HD Graphics Serkoll Компьютерное железо 3 11.10.2012 15:34
БД Interbase работает странно. Yo_Asakyra БД в Delphi 1 27.05.2012 23:58
странно работает RegSetValueEx di91 Win Api 4 07.11.2010 15:27