Вопрос для лучшего понимания работы многопоточности и описания класса. Где правильно описывать переменные потока, чтобы они небылы доступны другим экземплярам класса. На примере POP3/IMAP чека ( чтобы для каждого потока создавался свой объект POP3 ): TMythread = class(TThread) private POP3 : TPOP3Send; И затем создавать объект в TMyThread.Execute ... TMyThread.Execute begin POP3:=TPop3Send.create; end; Либо лучше описывать POP3 : TPOP3Send; в var Execute ?? Как будет правильно ? Вопрос касательно не только данного объекта, но и остальных переменных которые не должны быть доступны другим екземплярам, чтобы поток не подвисал..
Без разницы в private или в var. Другим экземплярам класса свойства доступны не будут потому что: 1) Каждый поток - это отдельный экземпляр TMythread и у каждого экземпляра свои значения свойств 2) Доступ к приватным свойствам извне получить невозможно Вопрос где описывать переменные - более абстрактный и относится к кодингу вообще любого класса, не обязательно TThread. Если у тебя несколько методов класса пользуются одной переменной - её надо делать свойством класса. Если переменная используется только внутри одного метода то можно поместить её в var.