VBOrb
Release Notes
To install VBOrb and test VBOrb do the following:
Extract all files of the VBOrb.zip distribution by using WinZIP or Java jar tool
Open the VBOrb.vbp project file. Generate (and/or register) the VBOrb.dll file
Open the DBQuery.vbp client project file. Check the project references. Maybe delete unknown VBOrb reference.
Then reopen reference box and add right VBOrb reference. Generate the DBQuery.exe file.
Open the DBServer.vbp project file. Check the project references. Generate the DBServer.exe file.
Start the DBServer.exe and the DBQuery.exe and see how the client/server example work.
Do you have a problem to unzip by WinZIP?
Version 6.2 32bit of WinZIP has a problem to unzip downloaded file created by
jar. All unzip files have zero size. You can use a newer version of WinZIP
or the jar utility of Java to unzip. (jar xvf VBOrb???.zip)
VBOrb System Requirements
- VB 5 or VB 6 or VBA is ok
- Sybase PB and Microsoft ASP code cannot access different interfaces of an COM object.
Therefore using VBOrb together with that languages works only with a lot of workaround code.
- VBOrb is not an ORB for VB.NET. There is no plan to migrate to VB.NET.
- Windows95 with copiing system/ws2_32.dll from Windows98. Or a better way is:
- Windows95 with installing winsock2 from Microsoft
file 3ms_wsock2setup.exe (size 880 KB). After install is finished (very quick),
reboot, and after that, you will found the ws2_32.dll file already in c:\windows\system.
(Thanks to Budi Susanto from Duta Wacana Christian University-Yogyakarta-Indonesia
resolving this problem)
- Windows 98 or Windows NT or Windows 2000 is ok
- Windows XP is not tested
IDL2VB System Requirements
- JRE 1.1 (Java Runtime Environment) or JDK 1.1 (Java Development Kit)
or higher versions
Feature list
- Excellent IDL to VB compiler.
- Support a lot of CORBA 2.4 chapters.
- Native IIOP 1.2 (including fragments).
- OMG Interoperable Naming Service.
- Valuetypes.
- Connection timeouts.
- Examples and full source code included.
- Tested with many other ORBs. There is no ORB known not working together with VBOrb.
- Logging of IIOP messages.
News in Version 1.23
- New IOR form in naming test application.
- Bugfix in IDL2VB about valuetype inheritance.
- Bugfix in cOrbAny and IDL2VB to support sequences and enums in anys.
To do list (next versions)
VBOrb is GNU software so you can help.
- Test and maybe bugfixes for cOrbAny and cOrbTypeCode. (version 1.2x)
- Dynamic invocation interface (DII). (version x.xx)
- Maybe dynamic skeleton interface (DSI). (version x.xx)
- Policies. (version 1.30)
- Maybe Portable Interceptors. (version x.xx)
- Using and implementing an Event/Notification Service. (version x.xx)
- VBOrb must support bidirectionaly IIOP (version 1.30).
- Portable Object Adapter (POA) is not an important features on client
side. (version 1.40)
- SSL support. (version x.xx)
- Documentation and more examples (all versions)
- Language support flag for Sybase PB and Microsoft ASP (version x.xx)
- Migration path to VB.NET. (version xx.xx)
News in Version 1.22
- Bugfix for endless loops if IORs has more than one profile.
- Bugfix for IDL problems with multi pragma prefixes and redefinitions
- Generate VB project file
News in Version 1.20
- cOrbAny and cOrbTypeCode support more types.
- IDL compiler generates helper code for TypeCode.
- IDL compiler generates helper code for any insert/extract.
- IDL compiler supports boxedIDL (and not only boxedRMI) types.
- Fix of transfering empty wide strings.
News in Version 1.01
- Extended callback example (using JDK 1.4 ORB as server).
- VBOrb supports IIOP fragments for both message types (Requests and Replies)
- Logging level in ORB.init()
- Bugfix in codeset negotiation.
News in Version 1.00
- New RMI-IIOP example using the JDK 1.4 ORB. Shows how Java transfers the custom value
HashMap over IIOP for example.
- VBOrb supports IIOP fragments now. (Needed for JDK 1.4 ORB)
- Performance bugfix for read String method
- Bugfix in read and write wchar method.
- Bugfix about reconnections.
- Bugfix in read custom value method.
News in Version 0.99b
- HelloServer files were missing in version 0.99, now 0.99b
- Again bugfixes for the GIOP 1.2 protocol
- New error handling methods (due to multiple Err objects)
- Start of supporting pseudo object CORBA::TypeCode (needed for any)
- IDL compiler does not generate code for included files anymore by default.
- Includeable orb.idl and TypeCode.idl files.
- NamingService is complete. Bugfixes for the NamingService
- Complete Hello (server/client) example using the NamingService
of VBOrb, JDK1.3 ORB or JDK1.4 ORB
News in Version 0.98
- Supporting of NamingService
- Support of URL corbaname
- Hello example of JDK 1.3.1 ORB can use NamingService of VBOrb.
- The main bug about location forwarding is fixed.
Now VBOrb can communicate with Orbacus NamingService for example.
- Many bug fixes and rewritten code, so new bugs are possible.
News in Version 0.97
- New VB keyword `Date' found. Thanks to Timothy Docker
- Some bugs in scoping rules of IDL2VB solved. (Thanks to Timothy Docker)
- New idl test files
News in Version 0.96
- Support of valuetypes, value factory and abstract interfaces.
- Tested to access EJB's (Enterprise Java Beans) via CORBA RMI-IIOP.
- IDL compiler can parse and evaluate all types of IDL constants.
- IDL compiler supports complete syntax of CORBA 2.4 including
forward declared structs and unions.
- New compiler option -A to support anonymous type warnings.
- New compiler option --simplevalue to handle values as struct.
- A bug with sequence of char is solved.
- A bug with union switch type not equal long is solved.
- New ORB.init option to set the GIOP version.
- A bug in implementation of GIOP version 1.2 is solved.
News in Version 0.92
- VBOrb is evaluated by two german companies to work in production areas.
- In version 0.90 and above the mapping of exceptions have been
changed. Now you have to use On Error Goto statements instead of asking
oEx object after every call.
- A new compiler option -O to support different VBOrb DLL names.
- Bypass the network for local objects which is called co-location.
- LOCATION_FORWARD capabilities
- IDL2VB is now part of VBOrb and also GNU software
News in Version 0.80
- Some changes in connection management to solve a deadlock situation
- IDL compiler support arrays. Arrays such as long var[4] will map
to c_LongArr4.cls
- Use of GNU getopt.
- Solved Bug: IDL compiler generates code for struct and union definitions
inside a typedef.
- Solved Bug: IDL compiler allows a type_spec in a typedef
which is defined by a typedef.
- Solved Bug: #pragma vbname.
- Attention: In version 0.80 the mapping of sequences is changed
from Seq_T to T_Seq. Example: From c_SeqSeqByte.cls to c_ByteSeqSeq).
You can use #pragma vbname to set the old name if you
don't want to rewrite your old Basic applications.
- calling _is_a("IDL:omg.org/CORBA/Object:1.0") is possible.
News in Version 0.79
- Support of unchecked_narrow()
- Attention: In version 0.80 the mapping of sequences will change
from Seq_T to T_Seq. Example: From c_SeqSeqByte.cls to c_ByteSeqSeq).
You should use #pragma vbname today to set the future name if you
don't want to rewrite your Basic application in the future.
- IDL compiler generates code for unions. Finally!
- IDL compiler can read and evaluate many types of constants.
- Adding unchecked_narrow() method to interfaces
- Adding Object type to skeletons
- Attention: In version 0.80 the mapping of sequences will change
from Seq_T to T_Seq. Example: From c_SeqSeqByte.cls to c_ByteSeqSeq).
You should use #pragma vbname today to set the future name if you
don't want to rewrite your Basic application in the future.
News in Version 0.78
- Methods of ORB are more CORBA 2.3 compliant. init(), run(), perform_work(),
shutdown(), destroy()
- Support of corbaloc URL
- Support remote is_a() and interface inheritance via narrow().
- IDL compiler generates code for inherited interfaces.
- A new compiler option to generate public classes (setting Exposed = True).
- Some bugs less, maybe some bugs more
News in Version 0.77
- Server accepts more than one concurrent client connection.
- Server can run in VB development environment to allow server debugging.
- Writing Clients with Callbacks and server capabilities.
- To allow callbacks either call run(True) or run(False) together with the
new VBOrb Methode work() which can be triggered by a timer periodically.
(Timer concept by Holger Beer)
- Accepting Locate Requests written by Holger Beer to work with OmniOrb.
- New client/server demo
News in Version 0.74
- ORB.init must called now!
- Using dot style IP addresses in IORs rather than host names.
(Badly this uncover a bug in JDK 1.3 ORB with ObjectKeys shorter
than 12 octets and same host name. Thanks to Craig Neuwirt)
- Translating localhost in real address to avoid making two connections
to servers written in VBOrb. 127.0.0.1 remain unchanged.
- Read and write Doubles/Floats on the wire.
- Optimized performance for sequences of octets and strings.
- Writing servers with system assigned ports (using port 0).
- ORB.disconnect method need a new property which is add to cOrbSkeleton.
(A next IDL2VB version will include the simple property reader in ImplExamples.)
News in Version 0.71
- Missing function write and read Octets
News in Version 0.70
- Support of null object references
- A new class cOrbAny serve to support any type
- It is possible now to throw system exceptions
- Abbreviation of long VB names by #pragma vbname statement
- Sequences
- Mapping of null object references to nothing
- Start to support the any type (currently only: long, string, struct)
Supported by version 0.60
- Full implemented C-Preprocessor. You can use all kind of Macros.
- Predefined Macro __IDL2VB__ to support conditional compilations.
- Standalone C-Preprocessor if using option -E (like gcc -E)
- #pragma prefix, ID, version
- Standalone IDL Syntax checking if using option -N
- CORBA Exception supported
- typedef, struct supported
- enums are treated as unsigned long values
Unsupported by version 0.60
- Abbreviations of long VB names not supported
- Some CORBA types are currently not supported
- sequences are not well and arrays are not supported
due to the problems with VB5
- unions are currently not supported
- Interface inheritance is currently not supported
- Types float and double are currently not supported
- Type any is currently not supported
- Constants are currently not supported
- Valuetypes are currently not supported