Is this a bug in Windows 10 or simply a stuck key?
At one point in my Delphi 2009 application I ask for a user's name by means of a simple inputbox placed inside a while loop so that they cannot leave it blank. If they cancel or click OK without entering a name a validation message is shown and the loop goes round and asks again.
One of my users (using windows 10 but I don't know which release) gets to this point and the application hangs inside this loop. They describe the screen as 'shimmering' and a screenshot shows the input box and validation message both on the screen but almost transparent, indicating they are both being shown very rapidly. The log my application keeps also shows it gets to the point just before the loop but no further. This is reproducible by this user on different days.
Just in case, I checked these SO posts here and here but this bit of my code is so elementary I can't see what might be happening.
The code in question is
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;
Is Delphi's
InputBox
modal?
Yes.