SetMessagePort() without ifSetMessagePort... how/why?
I am utterly befuddled by this. I was under the impression that ALL BRS components have their methods implemented by way of BRS interfaces. I seem to recollect somewhere it was saying components are just a collection of interfaces and nothing else.
But here is example of it not being the case. By documentation, roParagraphScreen has ifSetMessagePort - but not in practice:
BrightScript Debugger> para = CreateObject("roParagraphScreen") BrightScript Debugger> ? para <Component: roParagraphScreen> BrightScript Debugger> ? getInterface(para, "ifSetMessagePort") invalid BrightScript Debugger> para.SetMessagePort(invalid) BrightScript Debugger> para.ifSetMessagePort.SetMessagePort(invalid) Interface not a member of BrightScript Component (runtime error &hf3) in $LIVECOMPILE(152)