Join The Works program to have access to the most current content, and to be able to ask questions and get answers from Revelation staff and the Revelation community

At 26 JUN 2022 08:05:23PM Joshua Goddard wrote:

I have created a parser for basic plus and integrated it with vscode (as a demo). It parses the code on each change to the file and reports errors and warning with code as you type (like any modern IDE does). It's also detects unreachable code and unassigned variables. It also allows you to hover over "variables" and it will tell you what kind of variable it is (and what value it has if it's an equate).

The parser is just a simple C# program, it would be cool if you could integrate this with your IDE. Code and screenshots are on my github.

I still need to add code completion and figure out how to make it talk to OI, as at the moment it just reads text files.

https://github.com/jgschis/BasicPlusParser


At 27 JUN 2022 09:48AM bshumsky wrote:

Hi, Joshua. You can use NetOI to communicate from C# to OI - it will let you open tables, and read and write records (as well as execute commands), so you could even have it do the compilation…

I think there should be a NetOI manual, or NetOI help files, in your OI folder; in fact, you might also have a NetOI sample form. If you can't find them, let me know and I'll see if I can tell you where they are (or get them for you).

Hope that helps,

- Bryan Shumsky

Revelation Software, Inc.


At 27 JUN 2022 08:45PM Joshua Goddard wrote:

Yes i think that's the only way to go. I believe SRP editor is embedded into an OI form, but i don' think i can/know how to embed visual studio code/visual studio into an oi form.


At 28 JUN 2022 09:37AM bshumsky wrote:

Yes i think that's the only way to go. I believe SRP editor is embedded into an OI form, but i don' think i can/know how to embed visual studio code/visual studio into an oi form.

Hi, Joshua.

Both SRP and Revelation Software (and other companies, I imagine) create their " OI forms" by using OLE controls.

You could do the same by making an OLE control (for example, a COM-exposed .NET control) which you could then "host" in an OI form.

Hope that helps,

- Bryan Shumsky

Revelation Software, Inc.


At 04 JUL 2022 10:35AM Joshua Goddard wrote:

HI,

I am looking at NetOi. How can I start an OpenEngine? It seems that NetOi only allows you to connect to an OpenEngine that's already running?


At 04 JUL 2022 10:38AM Joshua Goddard wrote:

I guess c# could start the OpenEngine (with a certain port), and then NetOi could connect to it…

But I was hoping that NetOI could do that for me?


At 04 JUL 2022 03:01PM bshumsky wrote:

I guess c# could start the OpenEngine (with a certain port), and then NetOi could connect to it…

But I was hoping that NetOI could do that for me?

Hi, Josh. Sorry if the docs/examples didn't make this clear, but NetOI is designed to indeed start up an oengine as needed - it's designed to talk with an Engine Server, whose job it is to take the incoming requests and create OEngines to service them.

If you're not familiar with having an engine server running, then that would be your first step - loading the java runtime, setting up the engine server (either as a service or in 'debug' mode), and then your NetOI project can talk to that…

- Bryan Shumsky

Revelation Software, Inc.


At 04 JUL 2022 07:36PM Joshua Goddard wrote:

OK, the terminology was confusing me. So OpenEngineServer is the java program? I always called it "the java program".

I'd rather not use the java program though. I will just use c# to start openinsight.exe, and then I will use netoi to connect to that instance of openengnie that is running. I believe that should work.


At 05 JUL 2022 06:50AM Joshua Goddard wrote:

Are you planning on making a .net core (6) version of the library, or a version that targets .net standard? As the parser/language server uses .net 6. I could probably quite easily change it to .net framework 4.6 but I'd rather not.


At 05 JUL 2022 08:43AM Joshua Goddard wrote:

I was able to get the "revcapi" c# code from bob carten to work in .net 6, so you don't need to provide me with a .net6 version of netoi:

code is here:

https://www.revelation.com/revweb/oecgi4p.php/O4W_RUN_FORM?INQID=WORKS_READ&SUMMARY=1&KEY=19728.5428%2AADFFA4E4C4C9C84CB7BBAD860A2212E7#/section/breadcrumb/UPDATETABLE/Display


At 05 JUL 2022 08:59AM bshumsky wrote:

I was able to get the "revcapi" c# code from bob carten to work in .net 6, so you don't need to provide me with a .net6 version of netoi:

code is here:

https://www.revelation.com/revweb/oecgi4p.php/O4W_RUN_FORM?INQID=WORKS_READ&SUMMARY=1&KEY=19728.5428%2AADFFA4E4C4C9C84CB7BBAD860A2212E7#/section/breadcrumb/UPDATETABLE/Display

Hi, Joshua. Glad you're having success.

Two points I'd like to make.

First, when posting links to the Works forum, please use the "Click here to copy this record link" button at the top of the board; it gives a better link for anyone to use.

The suggested link would be:

https://www.revelation.com/revweb/oecgi4p.php/O4W_HANDOFF?DESTN=O4W_RUN_FORM&INQID=WORKS_READ&KEY=ADFFA4E4C4C9C84CB7BBAD860A2212E7

Second, do I understand you to be saying that you are planning to use the C# code to directly talk to the OEngine via revcapi, rather than the tools that we have provided to do so? Of course, that's your option, but I might suggest that "rolling your own" is not always the best approach. There's a reason tools are provided - the give a standard, supported, and (relatively) unchanging interface to the product. If you generate your own code, then it will be unsupported and unsupportable by us.

Hope that helps,

- Bryan Shumsky

Revelation Software, Inc.


At 05 JUL 2022 09:28AM Joshua Goddard wrote:

HI,

I would rather use NetOi, but I can only use it if it will work with .net 6.

So if you could create a .net 6 version of the NeoOi library, that would be good. For now, I will use Bob Carten's code.

Thanks

View this thread on the Works forum...

  • third_party_content/community/commentary/forums_works/8f27956211d18d439defdd6d82af9115.txt
  • Last modified: 2023/12/30 11:57
  • by 127.0.0.1