Таблица лидеров


Популярный контент

Показан наиболее популярный контент 17.12.2017 во всех областях

  1. 2 балла
    kami

    Разница в вызовах Synchronize

    Разница есть. И она не только в вызове Synchronize, но и Queue. Указание потока в качестве источника метода синхронизации позволяет вам впоследствии сделать TThread.RemoveQueuedEvents(myThread) перед его удалением. Вызов RemoveQueuedEvents необходим, если в синхронизируемых методах может идти обращение к полям и методам уничтожаемого потока. Потому что с удалением потока то, что подлежало синхронизации, никуда не пропадет, а раз поток уже не существует - у вас вылезет AV на ровном месте. Или же ваш код испортит чью-то память, что еще труднее отловить.
  2. 1 балл
    Brovin Yaroslav

    Рисует за пределами канвы

    Добавлять ClipRect при отрисовки в регионе. { clipping } procedure IntersectClipRect(const ARect: TRectF); virtual; abstract; procedure ExcludeClipRect(const ARect: TRectF); virtual; abstract;
  3. 1 балл
    Maximus

    Разница в вызовах Synchronize

    http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.Classes.TThread.Synchronize Судя по документации, если передать первым параметром поток, то в дальнейшем в основном потоке можно будет определить какой из дополнительных потоков вызвал метод. Если это не требуется, то можно ничего не передавать.
  4. 1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00