如何修复空白屏幕,如果应用程序在RDP中切换

问题描述:

Visual FoxPro 9应用程序wrotes屏幕使用?命令如何修复空白屏幕,如果应用程序在RDP中切换

SYS(602 , 1) 
MODIFY WINDOW screen FONT 'Arial',14 
_Screen.Themes = .F. 
hide menu _msysmenu 
ACTIVATE SCREEN 
clear 

do while .t. 
clear 
    ?'1 Option1' 
    ?'2 Option 2' 
    ?'. Exit' 

    wait 'Select ' to valik 
clear 
... 
enddo 

如果在切换到本地桌面后运行在RDP下,并且回写文本到屏幕消失。整个屏幕是空白的。

如何解决这个问题,以便在切换回应用程序后可以看到应用程序屏幕输出?我尝试了SYS(602,1)和SYS(602,0),但是这个 不能修复空白屏幕。

+1

不要使用这种古老的技术。改为使用表单(或菜单)。 –

发生这种情况的原因是由RDP连接时屏幕分辨率发生了变化。
解析更改VFP重新绘制_screen并清除所有文本。 (屏幕上的文本不存储在任何地方)
如果要保存输出,可以在_screen, 例如textbox对象上添加一些图层。
其内容永久保存在object.value并重新绘制后保存。

_screen.AddObject('out', 'textbox') 
_screen.out.Visible= .T. 
_screen.out.value = 'sometext' 

或者你可以使用set alternate用于处理的输出。