We want to introduce ObjAsm32 - the OOP implementation for MASM.
Object-oriented-programming, or OOP, is a programming methodology that has become the mainstay of high level languages (HLL) such as Pascal, C++ or SmallTalk. Using ObjAsm32, it is now possible to write elegant assembly programs taking advantage of OOP in the same way as HLLs do.
The main goal of using an OOP approach in your applications is the encapsulation of data and code, collectively known as members of the object, in one package.
Some key points of this technology are:
* The code of an object usually performs operations on its own data.
* This code consists of procedures known as methods.
* The data inside an object is hidden. Only the object's code may directly access its data. You easily can, as is usually the case in assembly language, break this rule, but you deviate from OOP regulations at your own risk. An object data can be of any type, even other objects.
* To use an object, you have to create it in memory. This is called 'instantiation' and the created object an 'instance'. You can create as many instances as you need in your application, each with its own data. When you no longer need them, you can simply destroy them releasing the object instance from memory.
* You can construct new objects based on existing ones. This technique is called inheritance and makes it possible to reuse a well known and proven code. By this way, you can write an entire application by simply modifying or enhancing existing object members.
The core of the ObjAsm32 model is a collection of MASM macros and procedures which implement the OOP model with a minimal overhead.
Latest Version: 1.3, Revision A
Basic Features:
* Complete object framework.
* Short and powerful syntax.
* Macro library of include files, which range from String, Memory and FPU operations to Structured Error Handling and Debugging.
* Complete string handling support (ANSI, UNICODE and BSTR).
* Macro library yet integrated into the OOP framework for class error reporting and debugging.
* Lot of example demos, all RadASM ready to use with full source code.
* A bonus resource library with Icons, Bitmaps, GIFs, Dialogs and Cursors in a structured organization. This allows you to develop template dialog resource scripts and reuse them, like a custom 'About dialog' for all your projects.
Extended features:
* Library support to speedup compilation time by a factor of 30 - 70%.
* Component Object Model (COM) support: Interfaces, Components, Events, etc.
* DirectX basic interfacing.
* Powerful objects: API 3D Engine, Skin windows, GIFs, etc.
* Database access via OleDB-providers.
* New source code analysis and compilation tools.
Documentation:
* Detailed documentation on the inner framework of the OOP model and how it operates.
* Two walk through like tutorials, based on two of the more than 20 example demo projects.
* Documentation on every object class.
* A graphical inheritance tree for quick reference of how one object class relates to its parent or descendants. Every 'leave' on this tree is linked to the object documentation for easy look-up.
* All the documentation is in one CHM help file.
You can get more information and download the ObjAsm32 model visiting our web site http://ObjAsm32.tripod.com.
For developers we recommend to visit our new forum
http://s4.invisionfree.com/ObjAsm32/index.php
To use the latest version you have to proceed in 2 steps:
1. Install v.1.3: http://objasm32.tripod.com/DwnFiles/OA32INST.zip
2. Apply the "Revision A" update:
http://objasm32.tripod.com/DwnFiles/FullUpdateA.zip
Best regards,
Your ObjAsm32 team.