spiegel-keyman/windows/src/developer/TIKE/dialogs/UfrmMustIncludeDebug.dfm
Marc Durdin 11043b62c9 fix(developer): get Test Mode working again
Relates to #5013.

This resolves the broken Test Mode with Keyman Core. Previously, Test
Mode just dumped the keyboard into Keyman for Windows, and let it do its
thing. Given that we no longer have the dependency on Keyman for
Windows, the Test window must use Keyman Core to process keystrokes, and
that means there are some differences in how Test Mode operates in 15.0:

* Behind the scenes, the Test mode is just the Debug mode with
  breakpoints and single step disabled, and the Debug Status window
  hidden
* Test mode requires debug information in the keyboard (see note below)
* You can always switch between Test and Debug mode
* Deadkeys are always shown in the debug window

Test Mode now requires debug information to be included in the keyboard
in order for deadkeys to be tracked correctly in the editor. While it
would be possible to remove the need for this, it does not add any
significant benefit to do so -- doing so would mean that the tester
would have less visibility into deadkeys, and complicate the Core
marker tracking in the debug window.

I considered removing Test Mode altogether, but it still feels like a
useful view for playing with a keyboard without all the debugging
paraphernalia cluttering the display. It's a little slower than full
native Keyman for Windows (aka the 14.0 Test Mode), because the debug
hooks are still running in the background, but it is quite usable.

Note the removal of `Application.ProcessMessages`. This resolves the
issue of keystrokes being swallowed by the debugger during
non-interactive debug runs, making rapid input work properly in both
Debug Mode and Test Mode.
2021-08-18 07:46:39 +10:00

66 lines
1.5 KiB
Text

inherited frmMustIncludeDebug: TfrmMustIncludeDebug
Left = 192
Top = 114
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'Keyman Developer Debugger'
ClientHeight = 133
ClientWidth = 393
Font.Name = 'MS Sans Serif'
Position = poScreenCenter
ExplicitWidth = 399
ExplicitHeight = 162
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 8
Top = 8
Width = 366
Height = 39
Caption =
'You must include debug information in the compiled keyboard befo' +
're you can use the debugger or test window. You can do this you' +
'rself by selecting the "Include debug information" option in the' +
' Keyboard menu.'
WordWrap = True
end
object Label2: TLabel
Left = 8
Top = 52
Width = 343
Height = 13
Caption =
'Recompile now with debug information and start the debug/test se' +
'ssion?'
end
object cmdOK: TButton
Left = 120
Top = 100
Width = 73
Height = 25
Caption = 'OK'
Default = True
TabOrder = 1
OnClick = cmdOKClick
end
object cmdCancel: TButton
Left = 200
Top = 100
Width = 73
Height = 25
Cancel = True
Caption = 'Cancel'
ModalResult = 2
TabOrder = 2
end
object chkAutoRecompile: TCheckBox
Left = 8
Top = 72
Width = 343
Height = 17
Caption =
'&Always recompile with debug information before debugging or tes' +
'ting.'
TabOrder = 0
end
end