I am not a "Windows" programmer, so my questions are probably elementary, however I need some help from those more knowledgable.
We have a single user application. We would like to call OI functions, or start OI windows, from VB or C++. While I have the Open Engine Reference 1.5, and I have read the Open Engine section of the on-line help, it is still a mystery to me how to get VB and OI to run together.
Does anyone have a simple example (like "Hello World") of how to do the following on the same machine using either VB or C++:
1. Start the OI Engine;
2. Call an existing OI function and use the information passed back;
3. Start an OI window and send an event to it?
Thanks in advance. Any help would be greatly appreciated.
Steve,
Check out a href=http://www.revelation.com/o4wtrs/oecgi3.exe/O4W_DOMINO_HANDOFF?DESTN=O4W_RUN_FORM&INQID=WORKS_READ&KEY=66C867B166B8791685256C2500612A91&KEY1=66C867B166B8791685256C2500612A91]this[/url] thread for an example of calling an OI function from VB. This should take care of questions 1 and 2. You should also look at the OpenEngine chapter of the on-line help for more explanation on how OE is loaded from other programs.
For question 3 you could execute OINSIGHT.EXE and then send it a custom message via the Windows SendMessage() function to one of your OI forms. You could then use the form's WINMSG event to trap the message and process accordingly….
Steve,
Can't say I'm a VB programmer but if you register XRev.DLL on your system you should be able to find a Revelation object - I know VB has a dialog box for making ActiveX object available to the IDE - but you'll have to check the VB docs …
World leaders in all things RevSoft
=== At 25 JUL 2006 09:08AM Sean FitzSimons wrote: ===
Steve,
Have you looked at:
Online Help:
Programmer's Reference Manual
Chapter 10: Programming Techniques
Communicating Between Visual Basic and OpenInsight
Sean
=== At 25 JUL 2006 09:20AM The Sprezzatura Group wrote: ===
Nice one Sean, knew I'd seen it somewhere! :)
World leaders in all things RevSoft
=== At 26 JUL 2006 05:09AM Steve Epstein wrote: ===
Dear Sean,
I read Chapter 10 and tried to implement the example. I failed completely.
The VB code editor indicates that the following statements are not correct, and gives some suggestions:
Public Revelation As Revelation …. suggestion: Public Revelation As RevSoftLib.Revelation
Set Revelation=New Revelation …. suggestion: Revelation=New RevSoftLib.Revelation
DoEvent is not a statement and DoEvent() is not a function.
In any case, the code does not seem to run with these changes.
Does the OEngine have to be already running? The example does not indicate, but I tried it both ways.
Here is the complete snippet (I only tried the first part to see if an engine could be started):
Option Explicit On
Public Class Form1
Public Revelation As RevSoftLib.RevelationPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadEnd SubPrivate Sub Command1_Click()Dim Engine As RevSoftLib.IEngine' Declare variablesDim Result As Long'Create the core Revelation object.Revelation=New RevelationResult=Revelation.CreateEngine(Engine, ":777", "SYSPROG", 0, 0)MsgBox("Result after CreateEngine= & Result)Engine=NothingRevelation=NothingEnd SubEnd Class
Does anyone out there know how to use VB and OI together? We really need to get this working.
Please help us.
I can be contacted at [email protected] or at +81 48-726-8543 in Tokyo.
Steve
=== At 26 JUL 2006 07:53AM The Sprezzatura Group wrote: ===
Eric the Emu wrote an SENL Article about this.
World leaders in all things RevSoft
=== At 26 JUL 2006 10:56PM Steve Epstein wrote: ===
Dear All,
Thanks for your help!
The problem, I discovered, was with Visual Studio 2005. Something has changed in the syntax definition of VB. When I used an older version of Visual Studio, everything worked exactly as documented.
Are there any VB mavens out there who know how to work with VS 2005? Cetainly this is a big drawback (no thanks to MicroCrap), fo writing new programs to communicate with the engine.
=== At 26 JUL 2006 10:59PM Steve Epstein wrote: ===
Dear Sprezz,
Same problems with Eric the Emu's code as with the example in Chapter 10.
See the RESOLVED posting I just made.
If Eric is out there, perhaps he knows how to change the code to work with Visual Studio 2005.
=== At 27 JUL 2006 09:27AM [email protected] wrote: ===
did you contact any of the many good VB groups out there about the problem?
=== At 27 JUL 2006 11:57AM Gerald Lovel wrote: ===
Another mindshare issue. MicroSoft changes program interfaces to introduce incompatibilities. This keeps the programmer focused on dealing with MicroSoft compatibility issues, so that there is no time for productive work – like addressing the Linux port. Incidentally, how is that going, Rev?
=== At 27 JUL 2006 12:46PM Bob Carten wrote: ===
Are you using OI 7.21?
If you have more than one version of OI on the machine, did you register the 7.21 Xrev.dll? (e.g. regsvr32 \revsoft\oi721\xrev.dll)
As I recall, we reworked Xrev.dll to make it compatible with C# in .Net 2003. Vb.Net could handle variant arrays, C# could not, or something like that. Could be that they fixed that in 2005. broke something else.
Bob
=== At 27 JUL 2006 08:11PM Steve Epstein wrote: ===
Yes, I am using OI7.2.1 with all the latest patches.
I am not the only one having compatibility issues with VS 2005. My colleauges (in Sweden), who work in .net with C#, have similar issues.