Ibm midrange 在AS400中显示新窗口时如何删除以前的窗口
我正在尝试从不同的显示文件显示窗口。即使在提供了RMVWDW之后,新窗口也会与前一个窗口重叠。当从多个显示文件显示窗口时,RMVWDW是否工作?Ibm midrange 在AS400中显示新窗口时如何删除以前的窗口,ibm-midrange,Ibm Midrange,我正在尝试从不同的显示文件显示窗口。即使在提供了RMVWDW之后,新窗口也会与前一个窗口重叠。当从多个显示文件显示窗口时,RMVWDW是否工作? 当从不同的显示文件显示窗口时,在显示新窗口时删除以前的窗口的解决方案是什么?因此,在没有更好的问题描述的情况下,让我试着描述一下发生了什么。我写了一些小程序来帮助你 首先,我们有一个显示文件,只有一个全屏记录和一个窗口。窗口将覆盖全屏记录 DSPF1 关联程序PGM1 **free dcl-f dspf1 workstn; dcl-pr pgm
当从不同的显示文件显示窗口时,在显示新窗口时删除以前的窗口的解决方案是什么?因此,在没有更好的问题描述的情况下,让我试着描述一下发生了什么。我写了一些小程序来帮助你 首先,我们有一个显示文件,只有一个全屏记录和一个窗口。窗口将覆盖全屏记录 DSPF1 关联程序PGM1
**free
dcl-f dspf1 workstn;
dcl-pr pgm2 ExtPgm('PGM2');
end-pr;
write record1;
exfmt w01;
pgm2();
*inlr = *On;
return;
显示record1和w01,并等待按下命令键。注意显示器上的两条记录
用户按enter键,调用PGM2。以下是显示文件和程序的源代码。请注意显示文件源中的“假定”关键字。这样可以防止在打开此显示文件时从显示中删除上一个显示文件
DSPF2
DSPF2的程序是PGM2
**free
dcl-f dspf2 workstn ignore(dummy);
exfmt w02;
exfmt w03;
*inlr = *On;
return;
这将显示DSPF2中的第一个窗口,等待命令键按下,然后从DSPF2中删除第一个窗口,并显示DSPF2中的第二个窗口
按enter键时,您会得到:
再次输入以结束两个程序
请注意,PGM2不会删除DSPF1中的窗口。当DSPF2打开时,假设关键字保持PGM1的显示。DSPF1在DSPF2处于活动状态时挂起,因此在DSPF2处于活动状态时无法删除该窗口,除非您从DSPF2中省略ASSUBED关键字。但是,如果省略ASSUBE关键字,则打开DSPF2时,整个显示将被擦除
如果您在调用程序2之前重写屏幕而不使用窗口,我想您可能能够从DSPF1中删除窗口,但您必须在DSPF1上设置
DFRWRT(*NO)
,或者写操作将不足以更新屏幕。您能给我们一个您看到的屏幕截图吗?很明显,您可能走错了方向。请让我们知道真正的目标,而不是你想要的方式。屏幕截图将大有帮助。另外,将您试图显示的窗口记录的DDS剪切并粘贴到问题中。这正是我面临的情况。我将尝试提供的解决方案。
A R W02 WINDOW(9 20 10 50)
A RMVWDW
A 5 14'Window 1 from DSPF2'
A R W03 WINDOW(4 5 10 50)
A RMVWDW
A 5 14'Window 2 from DSPF2'
A R DUMMY ASSUME
A OVERLAY
A 1 2' '
**free
dcl-f dspf2 workstn ignore(dummy);
exfmt w02;
exfmt w03;
*inlr = *On;
return;