Skip to content

HTMLRenderer Enhancements

Paul Mansour edited this page Jan 29, 2022 · 7 revisions

This is a list of the enhancements that Dyalog needs to make to the HTMLRenderer object, to make it truly useful:

  1. Easy Updates We should not have to wait for releases of the interpreter to get new versions of the underlying CEF. A new HTMLRenderer.dll should be enough.

  2. Multiple Modal Instances Currently there is no way to have a cross-platform modal instance. If we wrap the HTMLRenderer windows (Using the AsChild=1 property) in ⎕WC forms, and ⎕DQ these, we can get a proper stack of dialog boxes. When we use naked HTMLRenderer forms and run a wait on a second instance of the HTMLRenderer, the first instance is still accessible. It appears that events on all forms in the stack are processed by the most recent ⎕DQ. There is also no Active property of an HTMLRenderer instance.

  3. Thread switching in OnHTTPReceive and OnWebSocketReceive If we want to send a message from APL to the HTMLRenderer and wait for a response, we can only do this in a thread. Understandable. However, if we try and ⎕TSYNC this thread from thread 0, APL hangs. In other words, if the entire process is threaded, it all works, but if we try to control things from thread 0, spawning a thread and using ⎕TSYNC to wait but allow the HTMLRenderer callbacks to execute, things hang. No thread switching is allowed to happen.