Windows COM Support / WinCOM examples |
This section provides a Wincom and Word example.
DEFINE wdapp INTEGER DEFINE wddoc INTEGER MAIN DEFINE result INTEGER --initialization of global variables LET wdapp = -1 LET wddoc = -1 --first, we must create an Instance of a Word Application CALL ui.Interface.frontCall("WINCOM","CreateInstance", ["Word.Application"],[wdapp]) CALL CheckError(wdapp, __LINE__) --then adding a document CALL ui.Interface.frontCall("WINCOM","CallMethod", [wdapp,"Documents.Add"],[wddoc]) CALL CheckError(wddoc, __LINE__) --then, setting it to be visible CALL ui.Interface.frontCall("WINCOM","SetProperty", [wdapp,"Visible",true],[result]) CALL CheckError(result, __LINE__) --Centering the cursor for the title CALL ui.Interface.frontCall("WINCOM","SetProperty", [wdapp,"Selection.ParagraphFormat.Alignment","1"],[wddoc]) CALL CheckError(wddoc, __LINE__) --Underlining the title CALL ui.Interface.frontCall("WINCOM","SetProperty", [wdapp,"Selection.Font.Underline","1"],[wddoc]) CALL CheckError(wddoc, __LINE__) --Putting the title in bold CALL ui.Interface.frontCall("WINCOM","SetProperty", [wdapp,"Selection.Font.Bold","9999998"],[wddoc]) CALL CheckError(wddoc, __LINE__) --Typing the title's text CALL ui.Interface.frontCall("WINCOM","CallMethod", [wdapp,'Selection.TypeText("This is a title")'],[wddoc]) CALL CheckError(wddoc, __LINE__) --then Free the memory on the client side CALL freeMemory() END MAIN FUNCTION freeMemory() DEFINE res INTEGER IF wddoc != -1 THEN CALL ui.Interface.frontCall("WinCOM","ReleaseInstance", [wddoc], [res] ) END IF IF wdapp != -1 THEN CALL ui.Interface.frontCall("WinCOM","ReleaseInstance", [wdapp], [res] ) END IF END FUNCTION FUNCTION checkError(res, lin) DEFINE res INTEGER DEFINE lin INTEGER DEFINE mess STRING IF res = -1 THEN DISPLAY "COM Error for call at line:", lin CALL ui.Interface.frontCall("WinCOM","GetError",[],[mess]) DISPLAY mess --let's release the memory on the GDC side CALL freeMemory() DISPLAY "Exit with COM Error." EXIT PROGRAM (-1) END IF END FUNCTION