Amigo32 readme.htm B0.03
1997-11-09 AMIGO32 B0.03 RELEASE NOTES

Please provide feedback/bugs to:

If it is an emergency and you can't reach Dennis, contact one of:
*** WARNING ***

Please consult the caveats (section 9) and notes on compiling and running a client application.

History:



 

CONTENT

1. Installation

2. Contents of the ZIP file

3. Verification of install

4. Moving the installed files

5. Integrating your own doc space

6. Compiling and running a client application

7. Supported functionality

8. Code Structure - module organization

9. Caveats

10. Explicit Release Modifications & Bug Fixes (code level)



 

1. Installation

The Amigo32 (win32) release is delivered as a zip file. Unzip (recursive) to install onto your machine (and preserve the original sub tree structure).

The sub tree is self contained and can be installed anywhere you choose. At this point the code is sufficiently configured to allow you to access the dmaSystemManager and its service registry interface.  You cannot connect to the system object, nor any document space or other service (eg: the merged scope factory) at this point.  To do so you must register the system object, and document spaces.

The quick and simple solution is to adapt the supplied "dmasvc.reg" to detail the services you want registered, and 'run dmasvc.reg'.

The more standard approach (ie: less Amigo specific) is to register services via the IdmaServiceRegistry interface.  In the case of Amigo, a service once registered can be used immediately (no need to reboot, no need to restart the DMA application).  You do however need write permission to the LOCAL_MACHINE\Software\ branch of the windows registry.

Note: the system manager and the system object maintain separate registries. You must first must register the system object(s) using the IdmaServiceRegistry interface of the system manager. You can then connect to the system object, and register document spaces.   The document spaces must be registered using the IdmaServiceRegistry interface of the system object. The registries are located as follows:

 


 

2. Contents of the ZIP file

The source directory contains a make file: The win32msc.mak make files is generated using Microsoft Developer's Workbench, are VC++ 4.2 and provides release & debug targets. All code was compiled pack(8) and all the DLLs uses dynamic linked runtime libraries, and exceptions disabled.


 

3. Verification of install

From a dos prompt inside the debug or release runtime directory, you should be able to invoke the testclnt.exe program. This program allows you to connect to the system manager.  It should fail and exit on attempt to connect to the system object if no system object is registered.

Once the system object is registered the program can connect to the system object, but will fail on attempting to connect to a document space unless one or more document space is available, and correctly registered..  The debug version is a lot chattier than the release version, which tells you the basics.

You should also be able to make release & debug versions of any of the runtime modules using "nmake" or "Microsoft Developer Studio" on the supplied win32msc.mak file.



 

4. Moving the installed files

You can safely copy the content of the runtime directory (bin/debug or bin/release) elsewhere (e.g., DMA, DMATEST, DMADEMO), as you require so long as your service registrations are not invalidated (eg: if you give a full path name for the module location, and then move the module..!!!).

Typically I would not expect full pathnames to be registered. Provided the DLL is still on the search path of the executing process, the DLL will be found.



 

5. Integrating your own doc space

The document space must be registered with the system object.  The data is recorded in the windows registry

To update the registry using a REG file, modify the dmasvc.reg file per instructions inside the file (please save an original copy in case you chew it up and need a reference). At ConnectDocSpace, the service procedure will be passed the specified profile string and required GUIDs. If the client does not request a specific DocSpace (ie: a NULL guid), on a ConnectDocSpace, the first DocSpace encountered in the registry is invoked.

To update the list of document spaces programmatically use the IdmaServiceRegistry interface from the system object.  You can either supply an explicit serviceID, or rely on the Amigo software to generate a GUID for you (it uses CoCreateGUID).

The test program connects to the default document space.



 

6. Compiling and running a client application

Client applications should include the DMA header files, and link with DMA10.LIB to access the Amigo32 System Manager module. Aside from making sure your services are properly registered, that's it.

*** NOTE: When all else fails, try the supplied testclnt.exe and see if the connection gets through to the docspace you are trying to use. Then see how your connection code deviates from the example and see if you can make it work by matching the clnttest for now.



 

7. Supported functionality (see Section 10 for features new to this release)

7.1 SystemManager

Notes: 7.2 System Object Notes: 7.3 Test DocSpace

There is no test document space provided with this build.


8. Code Structure - module organization

The only implemented interfaces and functions are within:

DMA10.LIB

DMA10.DLL DMASYS1.DLL tstdocsp.dll

 

9. Caveats

dmaConnectSystemManager

IdmaSystemManager::ConnectSystem IdmaSystem::ConnectDocSpace IdmaSystem::EnumerateDocSpaces System Object IdmaProperties (supports only the following properties): IdmaSystem::GetResultCodeDescription IdmaServiceRegistry::RegisterServiceElement  


 

10. Explicit Release Modifications & Bug Fixes (code level)

10.1 New to this release

10.2 Bug Fixes (code level)

Since Amigo A5:

Since Amigo B0.00: Since Amigo B0.01 Since Amigo B0.02