Page 1 of 1

Cxpapplication object used by DC_XBPDIALOG1:CREATE

Posted: Thu Aug 11, 2022 7:56 am
by rsmarks
My program starts listening to a port
:
oEndpoint := HttpEndpoint():new( 8889, "*" )
IF( !oEndpoint:start() )
MyMsg({"HttpEndpoint 8889 failed to start."},{"Quit"})
RETURN
ENDIF
:
And then creates a DCREAD GUI

The Webhandler just has a get() method
CLASS CBMonitor FROM WebHandler
EXPORTED:
METHOD get()
ENDCLASS

METHOD CBMonitor:get()
:
If CBMonitor process a get() and I subsequently press a function key in the DCREAD that tries to create another DCREAD GUI, I get the following error:
Xbase++ version : Xbase++ (R) Version 2.00.1425
Operating system : Windows 10 2009 Build 19043
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: O CLASS: CxpApplication
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: Y
oError:cargo : NIL
oError:description : Object has no member with this name
oError:filename :
oError:genCode : 26
oError:operation : MainForm
oError:osCode : 0
oError:severity : 2
oError:subCode : 2240
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Called from XBPDIALOG:CREATE(567)
Called from DC_XBPDIALOG1:CREATE(12960)
Called from DC_GETLIST:INIT(880)
Called from DC_READGUI(110)
Called from MYUTIL(408)
Called from (B)MAIN(105)
Called from DC_XBPPUSHBUTTON:ACTION(2657)
Called from (B)DC_XBPPUSHBUTTON:INIT(2186)
Called from XBPPUSHBUTTON:HANDLEEVENT(1576)
Called from DC_GETLIST:EVENTLOOP(4784)
Called from DC_GETLIST:READGUI(3956)
Called from DC_READGUI(113)
Called from MAIN(181)

Why is it trying to use CxpApplication object here?

Re: Cxpapplication object used by DC_XBPDIALOG1:CREATE

Posted: Thu Aug 11, 2022 9:53 am
by rdonnay
You can't use any dialog windows in a CXP application.

The CXP code should only return a response to the web browser that is calling the application.

This must be HTML and/or Javascript.