COM and C/SIDE Overview
This topic describes how you can use Component Object Model (COM) technologies in C/SIDE to extend the functionality of Microsoft Dynamics NAV 2009. In C/SIDE, you can use two types of COM technologies: Automation and custom controls.
Automation is a client-server infrastructure that allows one application to access and communicate with another application. With Automation, an application, such as Microsoft Office Word, exposes its internal functions and routines as Automation objects that Microsoft Dynamics NAV 2009 can access through an Automation controller in C/SIDE. The application that exposes the Automation object, such as Word, acts as the Automation server, and the C/SIDE Automation controller acts as the client.
Automation allows for tasks that are normally run manually to be run automatically instead. For example, you can write a script to extract data from a database, put the data into a Microsoft Office Excel workbook, and then display the data graphically.
For examples of Automation in Microsoft Dynamics NAV 2009, see Walkthrough: Using Automation to Write a Letter in Microsoft Office Word and Walkthrough: Using Automation to Create a Graph in Microsoft Excel.
Custom controls are OLE Control Extensions (OCX) or ActiveX controls, which are specific types of Automation objects. OCX and ActiveX controls are generally small programs or application objects that that you can invoke from your Microsoft Dynamics NAV 2009 application to perform a specific function or task. You can use custom controls for various types of tasks. By default, there are several custom controls available in Microsoft Dynamics NAV 2009 from the Tools menu in the Classic client. To develop custom controls, you can use tools like Microsoft Visual C++ or Microsoft Visual Basic. Both products use wizards to make it easy to develop COM objects. You can also develop functional controls without understanding the complex details of COM.
If you are going to use existing custom controls from C/SIDE, then you do not need to know anything about COM. Using the functionality provided by a COM object is no different than using any C/AL function.
For an example that uses custom controls, see Walkthrough: Using Custom Controls from C/SIDE.