Using Seehau as an OLE Automation Server

Click Here for a Printable Version of this Page

Object Linking and Embedding (OLE) Automation allows one application to drive another application. The driving application is known as an automation client or automation controller, and the application being driven is known as an automation server or automation component.

Seehau is an OLE Automation server. This means that Seehau based emulators can be manipulated from an application developed in any environment that supports OLE Automation. You can control Seehau from C++, Java, Delphi or Visual Basic.

To use Seehau in your application as an OLE Automation server, it must first be registered. To register, launch Seehau once, and then exit. The OLE commands are then sent to the Seehau version currently registered in the Windows Registry. After installing a new Seehau release, you must re-compile the application with a new Seehau type library.

Using Seehau Commands from Visual C++ v5.0 or Later

Make sure to select the Automation option for “What other support you would like to include?” while creating your project. Information about Seehau commands is contained in the type library “Seehau.tlb”. The type library can be found on Seehau distribution disks.

Once in the project, add a class from the type library Seehau.tlb (import type library Seehau.tlb). This creates two files Seehau.cpp and Seehau.h that contain an IDispatch wrapper class called IOleCmd for Seehau commands.

Each new Seehau release might contain a new version of Seehau.tlb. To use your application with a new type library, delete the files Seehau.cpp and Seehau.h, and then recreate them as previously described. Recompile the application.

To use commands in your code, include Seehau.h, declare an object variable of class IOleCmd and create IDispatch object for "Seehau.OleCmd" as in the following example.

#include "seehau.h"

//Declare object variable.
IOleCmd olecmd;
//Create IDispatch object.  It should launch Seehau.

BOOL bx = olecmd.CreateDispatch( "Seehau.OleCmd" );	
if ((bx = = 0) | | (olecmd.m_lpDispatch = = NULL))		//check for an error
AfxMessageBox("Failed to create Dispatch object.  Is correct Seehau.exe registered?");
//Now you are ready to call Seehau commands.
long i;
i = olecmd.File_GetVersion();	//return Seehau version.  (File_GetVersion is a Seehau command)
//Exit Seehau
olecmd.Wnd_Exit();		//Wnd_Exit is a Seehau command which exits Seehau

Using Seehau Commands from Delphi

Add the following to the appropriate places in your program.


procedure TForm1.Button1Click (Sender: TObject)
	//Create IDispatch object.  It should launch Seehau.
//Now you are ready to call Seehau commands.
	v.File_LdCode(‘c:\myprogram’);   // File_LdCode is a Seehau comand which loads code
	//Exit Seehau
	v.Wnd_Exit();        //WndExit is a Seehau command which exits Seehau


Using Seehau Commands from Visual Basic

Information about Seehau commands is contained in the type library Seehau.tlb. The type library is located in the Seehau directory and is automatically registered by Seehau Setup. You access the type library by setting references to it. To do this in VB v6.0, select Project, References. The References (project name) dialog box opens. Select OleCmd1.0 Type Library in the list of Available References.

The following example shows how to invoke Seehau commands from Visual Basic:

Create an object of type “Seehau.OleCmd”	
Dim seehauApp As Seehau.OleCmd	‘declare the object
Sett seehauApp = CreateObject(“Seehau.OleCmd”)	‘create the object and start Seehau
‘Note the two lines above can be replaced by
Dim seehauApp As New Seehau.OleCmd	‘create the object and start Seehau

MsgBox “Please wait while emulator is fully initialized, then ckick OK.”, VbOKOnly

‘Call Seehau commands
‘Start the emulator
MsgBox “Emulator must be running.”, VbOKOnly
‘Stop the emulator

MsgBox “Emulator stopped.”, VbOKOnly

For more information refer to Visual Basic Help for CreateObject or GetObject.

Click Here for a Printable Version of this Page


Ice Technology, 430 Peninsula Ave, Suite 6, San Mateo, CA 94401
Ph:1-800.68.NOHAU (1-800-686-6428) or (650) 375-0409 - Fax:(650) 375-8666
Ice Technology, 1324 White Oaks Road, Campbell CA, 95008
Ph: (408) 626-7893 - Fax: (408) 626-9473
Nohau® , Seehau, EMUL51-PC, EMUL68-PC, EMUL-ST10/SUPER10/C166S V2-PC, EMUL12-PC, EMUL-and EMUL-ARM-PC are trademarks of Ice Technology a dba of Enable Engineering Co., Inc.. Other products and brand names are trademarks or registered trademarks of their respective holders.