Just Plane Crazy
Welcome to JustPC
Programming ISAPI with Visual Basic 5 teaches you how to build your own ActiveX controls that are called from Microsoft's Internet Information Server (IIS) using the Internet Server Application Programming Interface (ISAPI). The key to this is a tool called OLEISAPI2. This program translates the calls from IIS's ISAPI to a standard ActiveX COM interface, which can be used by Visual Basic programs.
The book starts at the beginning by building a very simple program that demonstrates how OLEISAPI2 works. Then it shows you how to build several more programs increasing in complexity, until you build your own intranet server program, called WebMaster. WebMaster includes such functions as electronic chat groups, calendaring facility, and a project tracking tool. The OLEISAPI2 program itself is examined to understand the ActiveX and ISAPI interfaces from a C++ programming point of view.
1. What causes the HTTP 500 Error?
The OLEISAPI2.DLL file for Windows 95 and the OLEISAPI2.DEBUG file for Windows NT requires a copy of MSVCR40D.DLL in the Windows\System (Windows 95) or WinNt\System32 directory (Windows NT). This file is automatically included when you install the Microsoft Visual C++ 4.0 compiler and is used for debugging C++ programs. Unfortuantly, Microsoft doesn't permit this file to be redistributed as part of an application.
So, I've created a new version of OLEISAPI2 to work with Windows 95, which doesn't require this file. It has the same limitations of the regular Windows 95 version (i.e., it doesn't support HTML frames), but doesn't require the debug library. It also doesn't support the debugging commands (status?, log?, etc.). It does require the file MSVCRT.DLL file to be in the Windows\system directory. Microsoft does permit this file to be distributed, however you probably already have it installed on your system.
[Download OLEISAPI2.ZIP] (14k bytes)
[Download MSVCRT.ZIP] (136k bytes)
2. Why doesn't OLEISAPI2 support Frames under Windows 95?
This is a good question. OLEISAPI2 was originally designed to work with Windows NT and IIS. However since PWS supports ISAPI, I thought it shouldn't be a big deal to get it to work with Windows 95. Well I was wrong. While my patches seem to work properly for most situations, for some reason web pages using HTML frames appear to lock up the computer. I believe this happends because there is a difference in how Windows NT and Windows 95 handles threads. It is important to note that these problems do not happen under Windows NT and IIS, where OLEISAPI2 is most likely to be used.
3. Error on page 46 (Installing OLEISAPI)
The file OLEISAPI.W95 should be copied to OLEISAPI2.DLL on your Windows 95 system, rather than OLEISAPI.DLL.
4. OLEISAPI2 and Access
For some reason, OLEISAPI2 and calles to the Microsoft Access (Jet) database seem to cause problems. I believe this is due to how IIS, Access and OLEISAPI2 handle multiple threads. There is no solution at this time, other than to avoid using Access databases in OLEISAPI2 programs.