Я создал класс, полученный из TThread
, который выполняет в фоновом режиме запрос.
Я хочу, чтобы этот класс был отделен от клиента.
Этот вид потока имеет целью выполнить простую проверку (например, сколько пользователей в настоящее время подключено к приложению, без блокировки пользовательского интерфейса), поэтому простая идея заключается в использовании метода синхронизации.
В любом случае, так как я хочу, чтобы он был развязан, я передаю в конструкторе параметр типа
TSyncMethod: procedure of object;
Где TSyncMethod
- это метод на клиенте (форма в моем случае).
Во всяком случае, как передать значение TSyncMethod? Я должен написать результат на каком-то "глобальном месте", а затем в моем TSyncMethod, который я проверил для него?
Я также пытался подумать о
TSyncMethod: procedure(ReturnValue: integer) of object;
но, конечно, когда я вызываю Synchronize(MySyncMethod)
, я не могу передать ему параметры.