Skip to main content

[archive] Screen displays and c$system calls

  • May 28, 2008
  • 2 replies
  • 0 views

[Migrated content. Thread originally posted on 27 May 2008]

Hello
Will system calls affect screen displays?
In the following perform loop a counter is incremented and displayed on a floating screen. When I add a system call to the loop the counter stays at 1 on the screen even thought is is being incremented in the loop. Any ideas on why this is happening?
Thanks.
perform acu-waitscrn-scrn.
move 0 to emo-records
perform with test after until filename = spaces
add 1 to emo-records
modify waitscrn-la-2, title = emo-records
call "C$system" using vbprog, "8"
giving vbprog-status
end-call
if vbprog-status not = 0
display message box
"vb program failed " vbprog-status
end-if
end-perform.
destroy waitscrn-handle.

2 replies

[Migrated content. Thread originally posted on 27 May 2008]

Hello
Will system calls affect screen displays?
In the following perform loop a counter is incremented and displayed on a floating screen. When I add a system call to the loop the counter stays at 1 on the screen even thought is is being incremented in the loop. Any ideas on why this is happening?
Thanks.
perform acu-waitscrn-scrn.
move 0 to emo-records
perform with test after until filename = spaces
add 1 to emo-records
modify waitscrn-la-2, title = emo-records
call "C$system" using vbprog, "8"
giving vbprog-status
end-call
if vbprog-status not = 0
display message box
"vb program failed " vbprog-status
end-if
end-perform.
destroy waitscrn-handle.
I see you are calling system with "8". When using C$SYSTEM calls we make a habit of calling like so:

CALL "C$SYSTEM"
USING CMD-LINE, 96
GIVING EXIT-STATUS
END-CALL.

Where 96 is made up of the following:

CSYS-HIDDEN (value 32)
CSYS-SHELL (value 64)

Try using some of the other flags to see if you can supress any of the I/O that may be caused by the system call...

[Migrated content. Thread originally posted on 27 May 2008]

Hello
Will system calls affect screen displays?
In the following perform loop a counter is incremented and displayed on a floating screen. When I add a system call to the loop the counter stays at 1 on the screen even thought is is being incremented in the loop. Any ideas on why this is happening?
Thanks.
perform acu-waitscrn-scrn.
move 0 to emo-records
perform with test after until filename = spaces
add 1 to emo-records
modify waitscrn-la-2, title = emo-records
call "C$system" using vbprog, "8"
giving vbprog-status
end-call
if vbprog-status not = 0
display message box
"vb program failed " vbprog-status
end-if
end-perform.
destroy waitscrn-handle.
Thanks, Mikalodeon
I have tried most of the other flags without success. I will give 96 a try.