procedure TEngineData.setEngine(const Value: TEngine);
begin
assert(value is IEngine); //compiler doesn't like this
FEngine := Value;
end;
Any help would be appreciated.
Interfaces can be bound dynamically at runtime. You can wrap an assignment
using the AS operator in a try except and trap the error at runtime. Can you
not simply use an iEngine parameter?