× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Tried the code below.
Found that the system determined that the screen size is *DS3 (80 Columns).
This did not fix my issue.
However. While in green screen debug - I noticed that when the window pops from within the debug display, the window pops and leaves the debug screen in the background whether running the program via a service program call or a direct call from the command line.
So I think I am chasing ghosts at this point and I am going to leave this issue alone.
Either it resolves itself or it becomes an issue again and I will revisit it.

Just a note: when I forced the screen with DSPMOD(*DS4) the window pops and erases the underlying screen always. So I think, Booth, you are on to something.

Booth, thanks for the code. I will add it to the tool box.

Paul

-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Booth Martin
Sent: Thursday, July 19, 2018 10:02 PM
To: RPG programming on the IBM i (AS/400 and iSeries) <rpg400-l@xxxxxxxxxxxx>
Subject: Re: Window erasing background screen issue with service program

Does your window program understand if it is displaying on DS3 or DS4? Part of the issue may be that it doesn't know how to put a DS4 window on a DS3 screen so it just blows away the underlying screen?

Are you retrieving the screen size?

DSPF:

**

*DSPSIZ(*DS3 *DS4) R FMT001 90 DSPMOD(*DS4)
--------------------------------------------------------------------
RPGLE: *

**

**

*d SetScreenSize pr 10i 0 extproc('QsnRtvScrDim') d NbrRows 10i 0
options(*omit) d NbrCols 10i 0 options(*omit) d Handle 10i 0
options(*omit) d ErrorCode 32767 options(*varsize: *omit) d NbrColumns s 10i 0 ... // =============================================================== // == Mainline == // =============================================================== /free //check current screen size, configure to match SetScreenSize(*omit:NbrColumns:*omit:*omit); if nbrColumns = 132; *in90 = *on; else; *in90 = *off; endif;*

**


On 7/19/2018 4:23 PM, Paul Therrien wrote:
My window display file is *DS3 and *DS4.

And the window program displays the QCMD screen in the background when
i call it directly from the command line.

For testing the service program I have an RPG program that only and
simply invokes a procedure in the service program and the service
program then invokes the window program. In this scenario the QCMD
screen is erased when the window is displayed.

Both the Service program and the window RPG program are in activation
group QILE.

I am stumped.

Paul

On 2018-07-19 16:45, Carel wrote:

Well, QCMD is a *DS3 (24*80) screen.

And tour window is also *DS3?

If not, the background turns black and does not show the first screen the window was displayed on, as a background.

Kind regards,

Carel Teijgeler

Op 19-7-2018 om 21:28 schreef Paul Therrien: I am currently in
development mode so I am calling the test program directly from a command line.

In one instance I am calling the window program directly from the
command line.

in the other instance I am calling an rpg program from the command
line that executes a procedure in a service program that invokes the
window program.

So in both cases the underlying screen is QCMD.

Paul

On 2018-07-19 15:18, Carel wrote:

Does the previous screen has a different format then the new screen? *DS3 v. *DS4.

Kind regards,

Carel Teijgeler

Op 19-7-2018 om 15:33 schreef Paul Therrien:

I have a window display program that, when called directly, the
window pops and the screen behind remains on the display. - All good.

When I call this same program from within a service program the
window pops, but the screen behind is erased; so all i see is the
window, with a blank screen behind.

The window operates fine in both circumstances, it is the erasing of
the screen behind the window that is an issue.

Is there a way to retain the screen data behind from within a service
program?

Am I, again, misunderstanding something?

Thanks for any help.

Paul

--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: http://amzn.to/2dEadiD

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.