У меня есть этот код>Проходя процедуру в качестве параметра в Delphi
type
TCallBack = procedure(APerc: Integer) of object;
....
procedure CallingProcedure(a, b, c: Integer; ACallBack: TCallBack = nil);
....
Я называю эту функцию из моего основного класса/объект такой:
CallingProcedure(1, 2, 3, DoOnCallBack);
, где Do OnCallBack определяется как:
procedure DoOnCallBack(APerc: Integer);
Это компилируется хорошо, это не проблема - я сделал это много раз.
Но в CallingProcedure, когда я хочу проверить, назначено ли Assigned (ACallBack), я получаю False.
Может кто-нибудь сказать мне, что я делаю неправильно.
Я называю это из Thread, это может быть проблемой?
Не должно быть никаких проблем из-за того, что я вижу. Можете ли вы опубликовать SSCCE, который демонстрирует проблему. – Graymatter
Это компилируется? Я так не думаю ... 'DoOnCallback' является обычной процедурой -' TCallBack' определяется как 'процедура объекта'. Можете ли вы отправить свой реальный код, пожалуйста? –
Два человека жаловались на код, который не демонстрирует проблему, но не проголосовали за закрытие. Вопросы с фиктивным кодом здесь не обсуждаются. –