这是Windows 10的一个bug还是简单的卡键?
在我的Delphi 2009应用程序中,我通过放置在一个while循环中的简单输入框来询问用户的姓名,这样他们就不能留空。如果他们在没有输入名字的情况下取消或点击 "确定",就会显示一条验证信息,然后循环再问一次。
我的一个用户(使用windows 10,但我不知道是哪个版本)到了这个点,应用程序就挂在这个循环里。他们将屏幕描述为 "闪烁",截图显示输入框和验证信息都在屏幕上,但几乎是透明的,表明它们都在快速显示。我的应用程序保存的日志也显示它到了循环之前的点,但没有更进一步。这个用户在不同的日子里都可以重现这种情况。
为了以防万一,我检查了这些SO的帖子 此处 和 此处 但我的这段代码太初级了,我看不出可能发生了什么。
这段代码是
function TFrmProcessIPaddressRemoteAccess_JHM.CheckAndProcessUserIPaddress( TheIPaddress: string): boolean;
const
EMPTY_STRING = '';
var
comment : string;
begin
<stuff to do with checking if IP address is already on server>
comment := EMPTY_STRING;
while comment = EMPTY_STRING do
begin
comment := inputbox('Adding IP address',
'Your IP address is not in the list of those allowed access. ' + slinebreak
+'MAMbase is about to add it.' + slinebreak + slinebreak
+'Please enter your name so that the IP address can be identified', EMPTY_STRING);
if comment = EMPTY_STRING then
showmessage('Please enter your name');
end;
<stuff to do with adding the IP address and the comment to the server>
end;
在Delphi 2009的应用程序中,是否有一个简单的输入框?
InputBox
模式?
是的。