quick recompile function in dialog button (debug purposes)

What new features you would like to see in next QM version?

quick recompile function in dialog button (debug purposes)

Postby r0n on Mon Jun 01, 2015 4:51 pm

I do not know if this is technically possible or to big to implement.

I find myself using the "out" function a lot to debug/check code.
The problem in dialogs is that you have to close the dialog every time you add/remove/modify an "out" line and then run it again.
Could it be possible in the future to have function called "recomp" (or something), that can be placed in the 'case' which executes the dialog. See below.

Function test_compile     ?
;\Dialog_Editor

str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 192 141 "Dialog"
;3 ComboBox 0x54230243 0x0 88 10 96 213 ""
;54 Button 0x54032000 0x0 8 104 118 26 "process"
;2 Button 0x54030000 0x4 134 118 48 14 "Cancel"
;END DIALOG
;DIALOG EDITOR: "" 0x2040202 "*" "" "" ""

if(!ShowDialog(dd &sub.DlgProc &controls)) ret


#sub DlgProc
function# hDlg message wParam lParam

sel message
,case WM_INITDIALOG
,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case 54 ;; button "process": once user clicks this, the dialog executes
,,recomp
,,;; ... here follows all the other code if needed
,case IDCANCEL
ret 1



The goal of the "recomp" function:
If we take the above code as an example with the "process" button, then every time the process button is pressed the dialog get's recompiled. It does not have to be full recompile, just check if there are "out" lines modified and process only those.

Example:
I run the above code with the "process" button. The dialog get's rendered, I now place "out" commands to check variables at different points within the code in QM and while the dialog is running I press the "process" button in the running dialog and the output window displays the "out" lines. Then I remove the "out" lines and press "process" button on the dialog again and nothing get's outputted.

It's a sort of "live" adding/modifying/removing of "out" commands without having to close and then run the dialog again.
It's just an idea, this could probably to big or complex to implement.
And with windows 10 coming I know you have a lot on your plate.
r0n
Active Member
 
Posts: 498
Joined: Tue Jul 24, 2012 5:47 am

Re: quick recompile function in dialog button (debug purposes)

Postby Gintaras on Mon Jun 01, 2015 5:16 pm

Don't need to close dialog. Click Compile button in QM toolbar.

Function recomp also is possible, if the code to be immediately recompiled is in other functions.
Function recomp     ?
SendMessage _hwndqm WM_COMMAND 32983 0 ;;Recompile


Function test_compile     ?
\Dialog_Editor

str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 192 141 "Dialog"
;3 ComboBox 0x54230243 0x0 88 10 96 213 ""
;54 Button 0x54032000 0x0 8 104 118 26 "process"
;2 Button 0x54030000 0x4 134 118 48 14 "Cancel"
;END DIALOG
;DIALOG EDITOR: "" 0x2040202 "*" "" "" ""

if(!ShowDialog(dd &sub.DlgProc 0 _hwndqm)) ret


#sub DlgProc
function# hDlg message wParam lParam

sel message
,case WM_INITDIALOG
,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case 54 ;; button "process": once user clicks this, the dialog executes
,,recomp
,,
,,out 1 ;;recomp does not work immediately for code that is in the function that calls it, or in its caller functions. The new code will be executed next time.
,,
,,sub.Func1
,,sub.Func2
,case IDCANCEL
ret 1


;recomp works immediately only for code in called functions and subfunctions
#sub Func1
out 2 ;;change this and click 'process' button


#sub Func2
out 3 ;;change this and click 'process' button

Gintaras
Site Admin
 
Posts: 10385
Joined: Thu Dec 19, 2002 7:36 pm
Location: Lithuania

Re: quick recompile function in dialog button (debug purposes)

Postby r0n on Tue Jun 02, 2015 5:13 am

wow thank you!!!!
I am going to try this!!!
r0n
Active Member
 
Posts: 498
Joined: Tue Jul 24, 2012 5:47 am


Return to Wish List

Who is online

Users browsing this forum: No registered users and 1 guest

cron