Enterprise development using visual basic 6 0 autumn 2002 tirgul 7
1 / 27

Enterprise Development Using Visual Basic 6.0 Autumn 2002 Tirgul # 7 - PowerPoint PPT Presentation

  • Uploaded on

Enterprise Development Using Visual Basic 6.0 Autumn 2002 Tirgul # 7. O bjectives. Brief on COM COM and Classes Creating Objects – ActiveX Dll Registering an Object Version Compatibility issues. Abstract.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Enterprise Development Using Visual Basic 6.0 Autumn 2002 Tirgul # 7' - dean

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Enterprise development using visual basic 6 0 autumn 2002 tirgul 7

Enterprise Development Using Visual Basic 6.0 Autumn 2002Tirgul #7

‘Tirgul’ # 7

O bjectives

  • Brief on COM

  • COM and Classes

  • Creating Objects – ActiveX Dll

  • Registering an Object

  • Version Compatibility issues

‘Tirgul’ # 7


  • In the world of the enterprise, employers want that something more then just Forms and Controls

  • That something is called COM

    • It's a way of organizing your code so it can be used over and over again.

    • It's a method of helping create a bug-free development environment.

    • Just after making your life a little harder, makes it lot easier.

‘Tirgul’ # 7

What is com
What is COM?

  • you're already a COM programmer!

    • Every time you set the Text property of a Text Box, you're using COM.

  • COM is a method of communication

‘Tirgul’ # 7

Com is a method of communication
COM is a method of communication

  • Imagine a television remote control

    • You press button one and the television tunes into Channel 1, 2…

    • You press the power button and the television turns itself off.

  • You just press the button and it jumps into action.

‘Tirgul’ # 7

Com is a method of communication1
COM is a method of communication

  • That’s applies to the world of programming.

  • You don't really know what happens when you change the Text property of your Text Box.

  • Under the covers, it's probably making two-dozen API calls – but to the end user, it just displays a certain piece of text in the box.

‘Tirgul’ # 7

Com is a way of reusing code
COM is a way of reusing code

  • You can use Com Object again and again anywhere.

    • A COM widget could be accessed from any program at any time. (Visual Basic, Excel C++ Program)

  • So COM is all about creating 'widgets' that can be reused.

‘Tirgul’ # 7

Com is based around real life objects
COM is based around real-life objects

  • After COM have been made, it’s easy to use.

  • Add a customer

    • Instead of adding lots of data access code, validation algorithms, and weighty database DLLs to your application – wouldn't it be easier to run something like


‘Tirgul’ # 7

Classes com
Classes -> COM

  • All of our work will be surrounding the creation of a class – which could later be turned into a real life COM object

‘Tirgul’ # 7

Classes check list
Classes check list

  • Variables

  • Properties (Let/Get) (hopefully)..

  • Subs, Functions, Parameters

  • Collection

  • What else?

    • Enumeration

    • Events – Not in the scope

‘Tirgul’ # 7

Create a real life com object
create a real-life COM object

  • ActiveX DLL– A .DLL program that contains classes.

  • ActiveX EXE – A .EXE program that contains classes.

  • ActiveX Control – A project that allows you to create controls in your toolbox.

  • ActiveX Document EXE – A program that runs on a Web page, in .EXE format.

  • ActiveX Document DLL – As above, but .DLL format.

‘Tirgul’ # 7

My first object
My first object!

  • We have discussed objects as controls in VB (Textbox, ComboBox) - you should be remembering these by now!)

  • When you make a control, it has a user interface (that means you can visually see something on the screen, such as the textbox itself

  • Another kind of object is one that doesn't have a user interface, and we call this a DLL (or Dynamic Link Library if you want to impress your friends).

‘Tirgul’ # 7

Activex dll
ActiveX Dll

  • Click File, New Project and select ActiveX DLL:

  • make sure that the Instancing property is set to 5 –MultiUse,

  • Allows us to compile the DLL and expose the class module to other programs (such as the object browser.

‘Tirgul’ # 7

Build the dll
Build the DLL

  • Save the project, and a click File, Make Project1.DLL.

  • You've just complied your first Dll object!

‘Tirgul’ # 7


  • Add another project - File, Add Project, Standard EXE.

  • Because a DLL is not a control, we need to make a reference to it (because we are not loading any kind of user interface)

‘Tirgul’ # 7


  • Click File, References and scroll down and select Project1:

‘Tirgul’ # 7

Browsing the object
Browsing the Object

  • press F2 to load up the object browser and select Projec1 from the combo box.

  • Check the Methods..

‘Tirgul’ # 7


  • An ActiveX DLL's code is executed within the main program's address space.

  • It behaves as if the class was created within the main program's code.

  • Because the code lies inside the program's address space, calling methods is very fast.

‘Tirgul’ # 7

Registering a component
Registering a component

  • when you come to distribute your DLL to another machine and it doesn't work..

  • Each DLL (or component) on your machine has to be registered (including controls). Once registered, an entry in to the registry is made.

‘Tirgul’ # 7

Using regsvr32 tool
Using Regsvr32 Tool

  • Microsoft tool for registring DLL’s and OCX’s

  • Simply Drag the Object into the TextBox

‘Tirgul’ # 7

Main sub
Main sub

  • In the module you can add a main sub:

    Sub main

    ‘Add code that will run when the ‘component is created


‘Tirgul’ # 7


  • Problem:

    • compile the ActiveX DLL,

    • then compiled a test program that used our DLL.

    • Then we recompiled our DLL – something you usually do after you make changes.

  • Suddenly, our test program no longer worked!

‘Tirgul’ # 7


  • Open up your project

  • Click 'Project Properties'

  • Click the 'Component' tab

‘Tirgul’ # 7

Version compatibility
Version Compatibility

  • No Compatibility – When compiled, your COM component gets assigned a new 'signature'. Programs looking for older 'signatures' (the previous version of the DLL) – simply flop

  • Project Compatibility – When compiled, your COM component is assigned a new signature – and still, any using-applications still flop. The only change here is that 'big' differences between your current project and a previous DLL project are highlighted as you compile.

  • Binary Compatibility – When compiled, your application attempts to keep the signature of a previously compiled DLL, thus ensuring any applications using it don't magically turn into the Blue Screen of Death. However if the differences between your previously compiled DLL and your to-be-compiled DLL are too great, a new signature must be assigned

‘Tirgul’ # 7

Activex dll creation summary
ActiveX DLL Creation Summary

When you create a new ActiveX DLL,

the steps you’ll generally follow are these:

  • Determine the features your component will provide.

  • Determine what objects are required to divide the functionality of the component in a logical fashion

‘Tirgul’ # 7

Activex dll creation summary1
ActiveX DLL Creation Summary

  • Design any forms your component will display.

  • Design the interface — that is, the properties, methods, and events — for each class provided by your component.

  • Create a project group consisting of your component project and a test project.

‘Tirgul’ # 7

Activex dll creation summary2
ActiveX DLL Creation Summary

  • Implement the forms required by your component

  • Implement the interface of each class.

  • As you add each interface element or feature, add features to your test project to exercise the new functionality.

  • Compile your DLL and test it with all potential target applications.

‘Tirgul’ # 7