Genero Desktop Client front calls / Windows DDE Support |
This section provides a WinDDE example.
DATABASE formonly SCREEN { Value to be given to top-left corner : [f00 ] Value found on top-left corner : [f01 ] } ATTRIBUTES f00 = formonly.val; f01 = formonly.rval, NOENTRY;
MAIN -- Excel must be open beforehand CONSTANT file = "Sheet1" CONSTANT prog = "EXCEL" DEFINE val, rval STRING DEFINE res INTEGER OPEN WINDOW w1 AT 1,1 WITH FORM "dde_example.per" INPUT BY NAME val CALL ui.Interface.frontCall("WINDDE","DDEConnect", [prog,file], [res] ) CALL checkError(res) CALL ui.Interface.frontCall("WINDDE","DDEPoke", [prog,file,"R1C1",val], [res] ); CALL checkError(res) CALL ui.Interface.frontCall("WINDDE","DDEPeek", [prog,file,"R1C1"], [res,rval] ); CALL checkError(res) DISPLAY BY NAME rval INPUT BY NAME val WITHOUT DEFAULTS CALL ui.Interface.frontCall("WINDDE","DDEExecute", [prog,file,"[save]"], [res] ); CALL checkError(res) CALL ui.Interface.frontCall("WINDDE","DDEFinish", [prog,file], [res] ); CALL checkError(res) CALL ui.Interface.frontCall("WINDDE","DDEFinishAll", [], [res] ); CALL checkError(res) CLOSE WINDOW w1 END MAIN FUNCTION checkError(res) DEFINE res INTEGER DEFINE mess STRING IF res THEN RETURN END IF DISPLAY "DDE Error:" CALL ui.Interface.frontCall("WINDDE","DDEError",[],[mess]); DISPLAY mess CALL ui.Interface.frontCall("WINDDE","DDEFinishAll", [], [res] ); DISPLAY "Exit with DDE Error." EXIT PROGRAM (-1) END FUNCTION