Visual Basic edition opens ActiveX for all users

One of the most difficult assignments for a PC programmer is to produce working ActiveX controls. Microsoft announced ActiveX as the replacement for Object Linking and Embedding, and for months afterward hardly anyone outside the company could get an ActiveX control to work. Microsoft's Developer's Studio gave plenty of examples, but it seemed only a sharp C++ programmer could produce properly functioning controls.

One of the most difficult assignments for a PC programmer is to produce working ActiveX
controls.


Microsoft announced ActiveX as the replacement for Object Linking and Embedding, and
for months afterward hardly anyone outside the company could get an ActiveX control to
work. Microsoft's Developer's Studio gave plenty of examples, but it seemed only a sharp
C++ programmer could produce properly functioning controls.


Now Visual Basic 5.0 Custom Control Edition opens the ActiveX world to the estimated 2
million Visual Basic programmers--novices and experts. This standalone product was
designed to make ActiveX controls work with the Visual Basic language and development
environment.


Microsoft plans to bundle it with the full Visual Basic 5.0 Standard, Professional and
Enterprise Editions to be released later in 1997. It's available in beta form on the World
Wide Web site at http://www.microsoft.com/vbasic and will be sold as a separate development tool.


How does Visual Basic perform in this role? Surprisingly well. To build a control, you
place control objects on a form, write some VB code and compile into a control. Simple
ones take less than an hour. Complex ones take longer, but the language is easy to
understand and use even for novice programmers.


The development environment is similar to VB 4.0, so experienced VB developers will
feel right at home. There are more than 20 standard controls from which you assemble your
custom control. Each has the usual selectable properties and events to give your control
an initial state.


Your custom control can be constructed with any feature found in an ordinary VB
application, such as multiple forms, pushbuttons, check boxes and data sources. The last
step is compiling the control. You can run it within the Visual Basic environment by
compiling it first or by interpreting it.


The environment contains standard Visual Basic debugging tools such as stepping though
execution, watching variables and setting break points. The editor offers some development
assistance, such as popping up the Properties window when you type a period so you can
select a property from the list.


As might be expected, there are a few rough spots. With my first compiles of the
example files, I got a cryptic message, ''Could not compile control.''Selecting Help
produced the message: ''Help not supported in Custom Control Edition.''Although I can
understand why Microsoft wouldn't want to incorporate Help files into a custom control,
there should be some help available in the development environment.


It was only by examining the files and compilation process that I discovered a missing
file, which prevented compiling. Little documentation came with the beta version, though
Microsoft plans to ship a comprehensive set of manuals with the shrink-wrapped product.


What does it mean to create your own ActiveX controls? First, any controls you make can
be put into use on a Windows-based Web site, powered by an ActiveX Web server and viewed
by an ActiveX-enabled browser. In effect, any application you write in Visual Basic can be
Web-enabled.


Second, you can share controls and information between ActiveX-enabled applications.
Few applications are ActiveX-enabled at this time, but you can imagine the advantages of
sharing controls with live data among members of a work group.


The rub, of course, is that this setup is all-Microsoft. At the moment, the only Web
server supporting ActiveX is Microsoft's Internet Information Server, and the only
ActiveX-enabled browser is the company's Internet Explorer.


Even if other products support ActiveX in the future, it still must be hosted on
Windows--and Microsoft wants you to use Windows NT Server. This isn't inherently bad, but
you should recognize it as a severe limitation on your choices.


Veteran VB users remember the heritage of ActiveX as the Visual Basic Custom Control,
or VBX. A VBX had to be written in C with a complex set of declarations and glue code for
registering the control in the VB development environment.


Microsoft provided shell examples in its Custom Control Development Kit, but it wasn't
easy to understand the code's purpose and get it to work with your control. In a sense,
it's a relief to operate at a higher level with a much smaller investment of time and
effort to produce a working control.


VB 5 Custom Control Edition is an instance of software's elusive silver bullet: the
reusable component. However, you might find it worrisome not to know what's going on
underneath.


That's the aim of a software component, of course, but the implementation of ActiveX
beneath those components is very complex. You must place your trust in Microsoft's code to
rely on this product for applications.


Whatever your concerns are about component software or Microsoft in general, add Visual
Basic 5.0 Custom Control Edition to your programming tool kit. Webmasters and IS shops
should consider it.


Peter D. Varhol is chairman of the graduate computer science department at Rivier
College in Nashua, N.H.


X
This website uses cookies to enhance user experience and to analyze performance and traffic on our website. We also share information about your use of our site with our social media, advertising and analytics partners. Learn More / Do Not Sell My Personal Information
Accept Cookies
X
Cookie Preferences Cookie List

Do Not Sell My Personal Information

When you visit our website, we store cookies on your browser to collect information. The information collected might relate to you, your preferences or your device, and is mostly used to make the site work as you expect it to and to provide a more personalized web experience. However, you can choose not to allow certain types of cookies, which may impact your experience of the site and the services we are able to offer. Click on the different category headings to find out more and change our default settings according to your preference. You cannot opt-out of our First Party Strictly Necessary Cookies as they are deployed in order to ensure the proper functioning of our website (such as prompting the cookie banner and remembering your settings, to log into your account, to redirect you when you log out, etc.). For more information about the First and Third Party Cookies used please follow this link.

Allow All Cookies

Manage Consent Preferences

Strictly Necessary Cookies - Always Active

We do not allow you to opt-out of our certain cookies, as they are necessary to ensure the proper functioning of our website (such as prompting our cookie banner and remembering your privacy choices) and/or to monitor site performance. These cookies are not used in a way that constitutes a “sale” of your data under the CCPA. You can set your browser to block or alert you about these cookies, but some parts of the site will not work as intended if you do so. You can usually find these settings in the Options or Preferences menu of your browser. Visit www.allaboutcookies.org to learn more.

Sale of Personal Data, Targeting & Social Media Cookies

Under the California Consumer Privacy Act, you have the right to opt-out of the sale of your personal information to third parties. These cookies collect information for analytics and to personalize your experience with targeted ads. You may exercise your right to opt out of the sale of personal information by using this toggle switch. If you opt out we will not be able to offer you personalised ads and will not hand over your personal information to any third parties. Additionally, you may contact our legal department for further clarification about your rights as a California consumer by using this Exercise My Rights link

If you have enabled privacy controls on your browser (such as a plugin), we have to take that as a valid request to opt-out. Therefore we would not be able to track your activity through the web. This may affect our ability to personalize ads according to your preferences.

Targeting cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising.

Social media cookies are set by a range of social media services that we have added to the site to enable you to share our content with your friends and networks. They are capable of tracking your browser across other sites and building up a profile of your interests. This may impact the content and messages you see on other websites you visit. If you do not allow these cookies you may not be able to use or see these sharing tools.

If you want to opt out of all of our lead reports and lists, please submit a privacy request at our Do Not Sell page.

Save Settings
Cookie Preferences Cookie List

Cookie List

A cookie is a small piece of data (text file) that a website – when visited by a user – asks your browser to store on your device in order to remember information about you, such as your language preference or login information. Those cookies are set by us and called first-party cookies. We also use third-party cookies – which are cookies from a domain different than the domain of the website you are visiting – for our advertising and marketing efforts. More specifically, we use cookies and other tracking technologies for the following purposes:

Strictly Necessary Cookies

We do not allow you to opt-out of our certain cookies, as they are necessary to ensure the proper functioning of our website (such as prompting our cookie banner and remembering your privacy choices) and/or to monitor site performance. These cookies are not used in a way that constitutes a “sale” of your data under the CCPA. You can set your browser to block or alert you about these cookies, but some parts of the site will not work as intended if you do so. You can usually find these settings in the Options or Preferences menu of your browser. Visit www.allaboutcookies.org to learn more.

Functional Cookies

We do not allow you to opt-out of our certain cookies, as they are necessary to ensure the proper functioning of our website (such as prompting our cookie banner and remembering your privacy choices) and/or to monitor site performance. These cookies are not used in a way that constitutes a “sale” of your data under the CCPA. You can set your browser to block or alert you about these cookies, but some parts of the site will not work as intended if you do so. You can usually find these settings in the Options or Preferences menu of your browser. Visit www.allaboutcookies.org to learn more.

Performance Cookies

We do not allow you to opt-out of our certain cookies, as they are necessary to ensure the proper functioning of our website (such as prompting our cookie banner and remembering your privacy choices) and/or to monitor site performance. These cookies are not used in a way that constitutes a “sale” of your data under the CCPA. You can set your browser to block or alert you about these cookies, but some parts of the site will not work as intended if you do so. You can usually find these settings in the Options or Preferences menu of your browser. Visit www.allaboutcookies.org to learn more.

Sale of Personal Data

We also use cookies to personalize your experience on our websites, including by determining the most relevant content and advertisements to show you, and to monitor site traffic and performance, so that we may improve our websites and your experience. You may opt out of our use of such cookies (and the associated “sale” of your Personal Information) by using this toggle switch. You will still see some advertising, regardless of your selection. Because we do not track you across different devices, browsers and GEMG properties, your selection will take effect only on this browser, this device and this website.

Social Media Cookies

We also use cookies to personalize your experience on our websites, including by determining the most relevant content and advertisements to show you, and to monitor site traffic and performance, so that we may improve our websites and your experience. You may opt out of our use of such cookies (and the associated “sale” of your Personal Information) by using this toggle switch. You will still see some advertising, regardless of your selection. Because we do not track you across different devices, browsers and GEMG properties, your selection will take effect only on this browser, this device and this website.

Targeting Cookies

We also use cookies to personalize your experience on our websites, including by determining the most relevant content and advertisements to show you, and to monitor site traffic and performance, so that we may improve our websites and your experience. You may opt out of our use of such cookies (and the associated “sale” of your Personal Information) by using this toggle switch. You will still see some advertising, regardless of your selection. Because we do not track you across different devices, browsers and GEMG properties, your selection will take effect only on this browser, this device and this website.