Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community

At 19 MAR 2000 01:39:55PM CT Savell wrote:

I have a RevG application that is being ported to OI. It contains 8 complex "driver" routines that have been "CHAINed" using the CHAIN command. The CHAIN command was used originally for two reasons:

1) RevG would not support source code records greater than 32K, and 2) We needed to clear the RAM during the calculation so the program would not run out of the 640K DOS limit.

I understand that OI does not support the CHAIN command AND OI is still also limited by the 32K souce code limit. To redo these 8 programs so they use subroutine calls has two problems: 1) It is very involved and will take a long time to do, and 2) More importantly, these new OI routines will then be incompatible with the original DOS code which we plan to continue to support until all users have migrated to the OI product.

In searching the discussion database I found a reference to the CHAIN command in OI by Gary Gnu stating: "It's still there. In Windoze it's RunLoadNewCancelOldTransferControlEventProg" which sounds like a humorous description of a series of method calls.

Is there any easy way to either use the equivalent to the CHAIN command or to get around the 32K source code limit in OI?


At 20 MAR 2000 04:20AM Oystein Reigem wrote:

CT,

Sometimes when my own procedures get too long I cut out a chunk and make it an insert. But I've never tried with anything as big as you've obviously got.

One disadvantage with inserts is that you cannot step through their code with the debugger.

- Oystein -


At 26 MAR 2000 10:42AM garygnu@compuserve.com wrote:

Chain is not there. The RunLoadNewCancelOldTransferControlEventProg call was my idea of a little joke.

Try this….

Copy each CHAIN routine to a new program name and make it either a subroutine or a function.

Modify the chain routine so it calls the subroutine then chains to the next routine.

From OI, you can call the subroutines in turn from one program.

This way, each routine is a subroutine and can be used in both products.

The affects on RevG should be minimal. The slight overhead in loading the additional routine is about it. The code should be cleared from the program stack as a result of the chain.

In OI, program stack limitations are handled differently, so the multiple subrouitnes will not be a problem.

garygnu@compuserve.com

ourworld.compuserve.com_homepages_garygnu_graphics_gnu-head-sm.jpg


At 27 MAR 2000 12:41PM CT Savell wrote:

Thanks Gary (and Oystein) I will give it a try.

View this thread on the forum...

  • third_party_content/community/commentary/forums_nonworks/68421c4e66570621852568a700610a1d.txt
  • Last modified: 2023/12/28 07:40
  • by 127.0.0.1