Re: os/2 vx and Object Rexx
- From: adrian suri <asuri@xxxxxxxx>
- Date: Mon, 12 Dec 2005 13:30:44 +0100
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
- Follow-Ups:
- Re: os/2 vx and Object Rexx
- From: Mark Yudkin
- Re: os/2 vx and Object Rexx
- References:
- os/2 vx and Object Rexx
- From: adrian suri
- Re: os/2 vx and Object Rexx
- From: Mark Yudkin
- os/2 vx and Object Rexx
- Prev by Date: Re: os/2 vx and Object Rexx
- Next by Date: Re: os/2 vx and Object Rexx
- Previous by thread: Re: os/2 vx and Object Rexx
- Next by thread: Re: os/2 vx and Object Rexx
- Index(es):
Relevant Pages
|