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