EggBird's nest
Analysis tools
DFD and
ERD
Two OLE programs that let you add Data Flow Diagrams and Entity-Relationship Diagrams to your software design document.
Download DFD.zip
IDL2M2
IDL2M2 converts IDL (and ODL) to Modula-2 source code. When the Modula-2 sources are compiled and linked the resulting DLL (or EXE) is a fully functional COM object. You only have to add the code for the specific functionality the COM object is intended to provide.
IDL2M2 can also read a type library from an object and generate the Modula-2 sources needed to communicate with that object. In case the object is an ActiveX control, IDL2M2 generates a simple ActiveX container application for the control.
IDL2M2 generates Modula-2 source code for the Stony Brook Modula-2 compiler, which supports the object-oriented extensions of Modula-2. The classes in Stony Brook Modula-2 are implemented in such a way that they are binary compatible with COM objects.
Download (version 2.30.00) IDL2M2
History
2.31.00
-adapted to changed definition of Ole2.GetIDsOfNames in Stony Brook Modula-2, Build 21
2.30.00
-type libraries were not listed under W2k
-recognizes 'helpcontext' attribute
2.20.00
-creates sub-directories (def, mod, etc) with lowercase names
2.10.06
-a method with a [retval] parameter does not necessarily have to have a [propget] attribute.
2.10.05
-bugfix: finally the scripts do run automatically.
2.10.04
-bugfix: the scripts did not run, when the path included spaces.
-bugfix: IDL2M2 did not stop when MIDL reported an error.
-bugfix: for EXE servers, the generated module for the class factory missed 'IMPORT WINUSER';
-bugfix: Bstr should always import WINX
2.10.03
-the type 'int' in an IDL source file is now translated to INTEGER.
2.10.02
-new toolbar
-bugfix: in Bstr.MOD, replaced '' in SysAllocStringLen calls with WINX.NIL_USTR
2.10.01
-Terminal.WriteString statements are surrounded by %IF DEBUG %THEN %END
2.10.00
-changed DispInterface.Invoke to use previously retrieved dispid's.
-added support for dispinterfaces that are not part of a control.
-IDL for outgoing interfaces can now be added to an existing Stub.ODL file.
-maximum size of method names enlarged to 80 characters (was 40).
-bugfix: order of parameters in dispinterface methods reversed.
-bugfix: for optional VARIANT parameters in dispinterfaces.
-bugfix: in Container script file.
2.00.03
-IDL2M2 registers its home directory in the registry.
2.00.02
-bugfix: 'Run interfaces.sbs' was also reported when IDL2M2 has already run the script.
-bugfix: the implementation of an interface should also implement the methods it
inherits from other interfaces.
-bugfix: Library.szName got lost.
2.00.01
-bugfix: code was only generated when 'Automatically run MIDL' was turned on.
2.00.00
-generates Modula-2 code from type libraries.
-contains code for a simple ActiveX container.
1.00.00
-check for valid combination of 'propget' and 'retval' attributes.
-indentation of output during parsing of IDL sources.
-help file now compatible with version 1.0 of hhctrl.
-added checks for imported IDL files.
-detects circular imports.
-bugfix: imports base interface in interface definition module.
-several smaller bugfixes.
0.00.15
-when MIDL generates a warning Idl2M2 asks user to stop or proceed.
0.00.14, 17-07-99
-output of MIDL captured and written to IDL2M2 text window.
-support added for 'typedef enum..' constructs in IDL.
-interfaces imported by other interfaces are now also compiled.
-extension of scripts changed to 'sbs'.
-bugfix: Errors in un-register process for EXE servers.
-bugfix: TypeInfo.LoadAndRegister moved from Activate to Register procedure.
0.00.13, 05-05-99
-new ComLib library
-created COM objects can now be aggregated.
-on IE3 installations Help-Contents did not display help file, now it should.
-some layout improved.
-the procedure Create in object's module for an EXE was not needed.
-name of ClassFactory.FACTORY changed to ClassFactory.C
-bugfix: szNAME in Libary.DEF was set to 'Library' instead of name of library.
-bugfix: only sources for one coclass were written.
-bugfix: the variable 'factory' was not set to EMPTY when the factory was destroyed.
0.00.12, 21-04-99
-methods in EXE COM server now write to terminal window instead of a messagebox.
-bugfix: an interface parameter was added as IUnknown.T instead of Ole2.IUnknown.
-bugfix: generation of resource file contained an error.
0.00.11, 19-04-99
-implementation of interfaces in separate modules.
-class factory implementation moved from Main module to object module.
-Main module now gets name of type library, name and GUID for type library
moved to new module Library.
-now able to generate code for EXE COM Servers.
0.00.10, 31-03-99
-IDL2M2 no longer goes topmost when converting IDL files.
-parameters in generated procedures better aligned.
-bugfix: the procedure DllRegisterServer always referenced 'CFexample', instead of new module.