Re: os/2 vx and Object Rexx



Hi Mark

In this case I am not sure that it's as simple as a simple missing end
statement, the program ie the exe file runs fine, as does the projects
until it has a section which includes some Object Rexx classes and
methods, all I would add rith correct return statements.

This is where it seems to be going wrong

_VREPrimaryWindowPath = VRParseFileName( spec, "dpn" ) || ".VRW"
_VREPrimaryWindow=VRLoad( parent, _VREPrimaryWindowPath )
say _VREPrimaryWindow
drop parent spec

with no onject rexx class' and methods the say returns a PID of the
window, and with object rexx code, in the editor does the same, as soon
as one makes an exe it no longer runs and the say reurns nul

regards

Adrian


> IIRC (and it's a long time), the main program created by VX-Rexx is missing
> an END. The old interpreter didn't care as such, but OO-REXX barks. You need
> to insert the missing END by hand.
>
> "adrian suri" <asuri@xxxxxxxx> wrote in message
> news:4WVkf.24$xg.82@xxxxxxxxxxxxxxxxxxxxxx
>
>>Hi all
>>
>>I thought I would share is problem with one and all, starting with the
>>problem. One creates a new VXRExx project, and under section you add a
>>file with Object Rexx classes and method, all with correct formating
>>and returns, then say add some code to a button, which initiates these,
>>you run it, and all is well. Then you make the exe file and run that,
>>wow panic, "cannot load window" error comes up what the heck is going
>>on, "someone go call Hanna...."
>>
>>although I have lost the book "Object REXX for OS/2 Rexx Bytes Objects
>>Now or Taking the "Oh, oh!" out of OO I still had the cd that came
>>with the book, as well as the book in pdf, what I could not understand
>>is why the application from the book ran, even if they included Object
>>Rexx code..., where mine did not, even though they both
>>seemed the same. I have solved this riddle, and this means I have
>>hit a dead end now, OK I'll explain, normally when one creates a vxrexx
>>project the code produced is auto written to en exe file containing, I
>>assume all the resource stuff window definition files icons etc
>>
>>so back to this entry in main section one find this:
>>
>>_VREPrimaryWindowPath = VRParseFileName( spec, "dpn" ) || ".VRW"
>> _VREPrimaryWindow =VRLoad( parent, _VREPrimaryWindowPath )
>>say "pid=" _VREPrimaryWindow " window= " _VREPrimaryWindowPath
>>
>>returns this in the ditor
>>pid = ?VRAB8810 of window = F:\__tmp1\oosample.VRW window location
>>
>>and this from the exe file:
>>
>>pid = VRA48810 window = F:\testbed\rexx\two\oosample.VRW location, which
>>does not exist, but must be in the exe file, I assume.
>>
>>however once one places a section containing '::' either a required
>>statement, or class definition and methods the window fails to load
>>thus VREPrimaryWindow returns "" a null string and
>>_VREPrimaryWindowPath = F:\testbed\rexx\two\oosample.VRW
>>
>>So I opened one of the sample progs from the book and saved it to a new
>>location, made a new exe file and ran it, simply got the same error as
>>my attempts, why, because they included the *.VRW file in the same
>>directory as the program file!
>>So the program could not load it when it was not present! In other
>>words the sample programs have the same problems as mine, so they
>>cheeted by including the *.VRW file in the same directory. The exe file
>>should be independent, except for it need for Vrobj.dll,.
>>
>>Hence my experiment of changing
>>_VREPrimaryWindowPath = VRParseFileName( spec, "dpn" ) || ".VRW" to
>>_VREPrimaryWindowPath = VRParseFileName( spec, "dpn" ) || ".VRY" worked
>>because the file contained the window definition file existed. One
>>solution might be to include the *.wrw file!
>>
>>The question is this, is the stuff in the exe file and cannot be
>>executed because of the '::', or maybe it does not get written
>>correctly? The file size does increase from 18 681b to 20 681 when the
>>class file is included
>>
>>Oh well, I will keep on working at it, any hint anyone
>>
>>regards
>>
>>Adrian
>
>
>

/*:VRX *//*  Main  */
Main:
/*  Process the arguments.
    Get the parent window.
*/
    parse source os calledAs other
    parent = ""
    argCount = arg()
    argOff = 0
    if( calledAs \= "COMMAND" )then do
        if argCount >= 1 then do
            parent = arg(1)
            argCount = argCount - 1
            argOff = 1
        end
    end
 else do
     call VROptions 'ImplicitNames'
     call VROptions 'NoEchoQuit'
    end
      if( argCount > 0 )then do i = 1 to argCount
        InitArgs.i = arg( i + argOff )
    end
CalledWith=InitArgs.1
    drop calledAs argCount argOff

/*  Load the windows
*/
    OK=VRInit()
    parse source os calledAs spec
    _VREPrimaryWindowPath = VRParseFileName( spec, "dpn" ) || ".VRW"
    _VREPrimaryWindow=VRLoad( parent, _VREPrimaryWindowPath )
say _VREPrimaryWindow
 drop parent spec
    if( _VREPrimaryWindow == "" )then do
        call VRMessage "", "Cannot load window:" VRError(), "Error!"
        _VREReturnValue = 32000
        signal _VRELeaveMain
    end

/*  Process events
*/
    call Init
    signal on halt
    do while( \ VRGet( _VREPrimaryWindow, "Shutdown" ) )
        _VREEvent = VREvent()
        interpret _VREEvent
    end
_VREHalt:
    _VREReturnValue = Fini()
    call VRDestroy _VREPrimaryWindow
_VRELeaveMain:
    call VRFini
exit _VREReturnValue

VRLoadSecondary:
    __vrlsWait = abbrev( 'WAIT', translate(arg(2)), 1 )
    if __vrlsWait then do
        call VRFlush
    end
    __vrlsHWnd = VRLoad( VRWindow(), VRWindowPath(), arg(1) )
    if __vrlsHWnd = '' then signal __vrlsDone
    if __vrlsWait \= 1 then signal __vrlsDone
    call VRSet __vrlsHWnd, 'WindowMode', 'Modal' 
    __vrlsTmp = __vrlsWindows.0
    if( DataType(__vrlsTmp) \= 'NUM' ) then do
        __vrlsTmp = 1
    end
    else do
        __vrlsTmp = __vrlsTmp + 1
    end
    __vrlsWindows.__vrlsTmp = VRWindow( __vrlsHWnd )
    __vrlsWindows.0 = __vrlsTmp

    do while( VRIsValidObject( VRWindow() ) = 1 )
        __vrlsEvent = VREvent()
        interpret __vrlsEvent
    end
    __vrlsTmp = __vrlsWindows.0
    __vrlsWindows.0 = __vrlsTmp - 1
    call VRWindow __vrlsWindows.__vrlsTmp 
    __vrlsHWnd = ''
__vrlsDone:
return __vrlsHWnd



Relevant Pages

  • Re: Sendto
    ... and there is'nt a problem the little window opens. ... Unable to Start a Program with an .exe File Extension ... You Are Unable to Start a Program with an .exe File Extension ...
    (microsoft.public.windowsxp.general)
  • Re: os/2 vx and Object Rexx
    ... Before going crazy, correct the missing END. ... > window, and with object rexx code, in the editor does the same, as soon ... Then you make the exe file and run that, ...
    (comp.lang.rexx)
  • Re: Send and Recieve Message
    ... I create a Window Application by Evc4.0 (indenpend exe file) ... "Chris Tacke, eMVP" wrote: ...
    (microsoft.public.dotnet.framework.compactframework)
  • Re: Sendto
    ... It may be caused by a corrupt registry setting for the exefile associations or ... Unable to Start a Program with an .exe File Extension ... | the window that opens when you right click on a program and it shows Open,Run ...
    (microsoft.public.windowsxp.general)
  • Re: Sendto
    ... I assume the "little window" refers to the menu showing, Open, Run as, etc. ... Unable to Start a Program with an .exe File Extension ... You Are Unable to Start a Program with an .exe File Extension ...
    (microsoft.public.windowsxp.general)