About Us Contact Us Information Boot Camps Courses Services About Us Home
Courses Contact Us Information Boot Camps Courses Services About Us Home
Print this pageCourse ListEmail this link
View sample video of this course
View sample video
Course Search
Course Content

Component Development (COM) using Active Template Library 3.0 (ATL) Functional Specification in Microsoft Visual C++ 6.0

Course 1304: Videos equivalent of 5 days intense instructor led training
One user license for 1 month and media available via internet downloads for only $1,125.00

License Media Type

Introduction

This five-day course will teach programmers how to build component-based solutions using the Component Object Model (COM), the Active Template Library 3.0 (ATL), and Microsoft® Visual C++® version 6.0.

At Course Completion

At the end of the course, students will be able to:

  • Use COM to address component-based software development issues.
  • Build clients of COM objects.
  • Build COM object servers.
  • Create ActiveX controls.
  • Use Visual C++ extensions to create clients of COM objects.
  • Build COM objects that reuse existing COM objects.
  • Add events to COM objects and clients.
  • Create COM objects with dual interfaces.

Microsoft Certified Professional Exams

This course will help the student prepare for the following Microsoft Certified Professional exam:

  • To be determined

Prerequisites

Before beginning this course, students should be able to:

  • Describe and use the following C++ fundamentals:
    • Constructors and destructors
    • Virtual function
    • Conversion functions
    • Function overloading
    • Operator overloading
    • Accessors
    • Single and multiple inheritance
    • Templates
  • Use the Windows® environment and use the Visual Studio® integrated development environment.

The course materials, lectures, and lab exercises are in English. To benefit fully from the instruction, students need an understanding of the English language and completion of the prerequisites.

Course Materials and Software

The course workbook and lab book are yours to keep.

You will be provided with the following software for use in the classroom:

  • Microsoft Windows 98, or Windows NT® Workstation version 4.0, Service Pack 3 or later
  • Microsoft Visual C++ 6.0
  • Microsoft Visual Basic® version 6.0, typical installation
  • MSDN Library Visual Studio version 6.0
  • Component Development Using the Active Template Library version 3.0, complete installation
  • Internet Explorer version 4.0 or later (recommended for connection to the World Wide Web through URL links provided in the product)

Course Outline

Day 1

Module 1: Introduction to COM

Topics

Overview of COM
Creating a client of a COM object
How COM uses strings

Lab

Creating a client of a COM object

Skills

Students will be able to:

  • List the major goals of COM.
  • List the steps for creating a client of a COM object.
  • Explain the significance of the CLSID and ProgID of a COM object.
  • Create a client of a COM object.
  • Explain how data is exchanged between a COM server and a COM client.

Module 2: Creating a COM Object

Topics

Introduction to COM interface
The IUnknown interface
Creating a COM object
Creating a COM object server
Registering a COM object server

Lab

Creating a COM object

Skills

Students will be able to:

  • Explain the concept of immutability in relation to interfaces.
  • Explain, use, and generate a GUID (globally unique identifier).
  • Describe the purpose and functionality of the IUnknown interface.
  • Explain reference counting and its implications.
  • Create a COM object.
  • Create a COM object server.
  • Register a COM object server.

Module 3: Implementing Multiple Interfaces

Topics

Overview of multiple interfaces
Implementing multiple interfaces by using multiple inheritance
Implementing multiple interfaces by using embedding

Lab

Implementing multiple interfaces

Skills

Students will be able to:

  • Use multiple inheritance to implement COM objects with multiple interfaces.
  • Use embedding to implement COM objects with multiple interfaces.

Day 2

Module 4: Introduction to ATL

Topics

Overview of ATL
Creating a COM object server by using ATL Wizards
Adding an interface to an ATL COM object
Registering an ATL COM object
Creating a client by using C++ extensions

Lab

Introduction to ATL

Skills

Students will be able to:

  • Explain the benefits of using ATL to create COM objects and object servers.
  • Use the ATL COM AppWizard to create a COM object server.
  • Use the ATL Object Wizard to add a simple COM object with a custom interface to ATL COM object server.
  • Use Visual C++ extensions to create a client of a COM object.
  • Explain the significance of each of the following in an ATL COM project:
    • COM map
    • Object map
    • CComModule
    • CComObjectRoot
    • CComCoClass

Module 5: Automation

Topics

Introduction to Automation
Features of an Automation object
Implementing Automation by using Dispatch Interfaces
Using structures in Automation
Creating a client of an Automation object

Skills

Students will be able to:

  • Explain the benefits of Automation.
  • Compare the methods and properties of an Automation object to the behaviors and attributes of a class.
  • Implement Automation for a COM object.
  • Use structures with Automation objects.
  • Create a client application for an Automation object.

Module 6: Dual Interfaces

Topics

Introduction to dual interfaces
Creating a dual interface using ATL
Creating a client for a COM object with dual interface
Creating multiple dual interfaces

Lab

Implementing dual interfaces

Skills

Students will be able to:

  • Describe the need for dual interfaces.
  • Explain the benefits and limitations of creating dual interfaces.
  • Create a COM object with dual interface using ATL.
  • Create a client for a COM object with a dual interface.
  • Implement multiple dual interfaces.

Day 3

Module 7: Handling Events

Topics

Overview of events
Firing events using a dispinterface
Receiving events fired using a dispinterface
Firing events using a custom interface
Receiving events fired using a custom interface
Creating a sink at runtime

Lab

Adding events

Skills

Students will be able to:

  • Explain how events work in COM from a server and client perspective.
  • Enable a COM object to fire events using dispinterfaces and custom interfaces.
  • Create clients in Visual Basic C++ that can receive events from a COM object.

Day 4

Module 8: Creating Controls Using ATL

Topics

Overview of controls
Adding properties to a control
Implementing the container
Working with controls

Lab

Creating an ATL control

Skills

Students will be able to:

  • List the types of controls supported by ATL.
  • Create a control using the ATL Object Wizard.
  • Add methods and properties to a control and implement them.
  • Modify the OnDraw method to draw graphical output for a control.
  • Register and license a control.

Module 9: Reusing COM Objects

Topics

Reusing source code
Reuse options available in COM
Implementing aggregation
Implementing containment
Implementing a tear-off interface

Lab

Object reuse in COM

Skills

Students will be able to:

  • Design a COM containment and COM aggregation.
  • Implement containment and aggregation to reuse COM objects.
  • Create a tear-off interface.

Module 10: Custom Interfaces

Topics

Introduction to custom interfaces
Location of the COM server
Introduction to marshaling
Remoting efficiency

Lab

Custom interfaces

Skills

Students will be able to:

  • List the advantages and disadvantages of using custom interfaces.
  • Create a custom interface using ATL.
  • List the techniques available for improving memory usage and performance of a remote COM server.
  • Explain the standard and custom marshaling techniques.

Day 5

Module 11: Threading Models

Topics

Single-threaded applications
Apartment models
Registering the threading model

Lab

Threading models

Skills

Students will be able to:

  • Describe the limitations of single-threaded applications.
  • Explain the differences between single-threaded apartment model, multi-threaded apartment model, and mixed threading model.
  • Explain how mixed threading models can cause marshaling issues.
  • Register a threading model.

Module 12: Collections

Topics

Overview of collections
Creating a collection
Implementing a collection
Using a collection

Lab

Collections

Skills

Students will be able to:

  • Explain the role of enumerators in using a collection.
  • Create and implement a collection.
  • Write client-side code to use a collection.

For more information or to give feedback, send e-mail to info@GuideToLearn.com or call 714.809.2719


Sample Video

Contact Us Information Boot Camps Courses Services About Us Home View course sample (Microsoft Dynamics AX Development)

In order to view the video in full screen mode please select Full Screen from the player toolbar.
The CD/DVD videos have higher resolution.

Buy This Video training


Get the Flash Player
to see this player.

Solution Graphics
Copyright © 2008 Guide To Learn, Inc. All Rights Reserved.