1022_____________________________________________Глава 15

Класс TCanvas

Прототип

bool   fastcall TryLock(void);

Описание

Функция TryLock блокирует данную канву, не разрешая другим нитям много-
поточного приложения рисовать на ней. Канва остается блокированной до снятия
блокады вызовом метода Unlock.

Если канва не была блокирована, то функция TryLock устанавливает свойство
LockCount в 1 и возвращает true. Если канва уже была блокирована, то функция
TryLock возвращает false, не увеличивая LockCount. В этом ее отличие от метода
Lock. который допускает многократное вложенное блокирование.

Поскольку блокировка не дает другим нитям рисовать на канве, производите-
льность работы приложения может за счет этого снизится. Так что не надо зло-
употреблять блокировками. Их следует применять только тогда, когда есть веро-
ятность нежелательных наложений операций, выполняемых в разных нитях при-
ложения с несколькими потоками.

Unlock

Уменьшает на единицу значение свойства LockCount, способствуя тем самым
разблокированию канвы, когда LockCount станет равным О

Класс TCanvas

Прототип

void _fastcali Unlock(void);

Описание

Метод Unlock уменьшает на единицу значение свойства LockCount, способст-
вуя тем самым разблокированию канвы, заблокированной ранее методами Lock
или TryLock. Блокировка канвы не разрешает другим нитям многопоточного при-
ложения рисовать на ней. Канва остается блокированной до тех пор, пока свойство
LockCount не станет равным 0. А единственный способ уменьшения LockCount —
вызов метода Unlock.

Если канва была заблокирована однократно, то вызов Unlock немедленно раз-
блокирует ее. Если же были вложенные вызовы Lock. то канва будет разблокиро-
вана после стольких вызовов Unlock, сколько раз ранее вызывался Lock.

Update_____________________________________________

Немедленно перерисовывает компонент

Класс TWinControl
Определение

virtual void _fastcall Update(void) ;

Описание

Метод Update вызывает немедленную перерисовку компонента, не ожидая за-
вершения каких-то других процессов или прихода от Windows сообщений о пере-
рисовке. Этим, в основном, этот метод и отличается от Repaint.

Для перерисовки вызывается функция UpdateWindow API Windows.