FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour GetWndDefault() bug?
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
GetWndDefault() bug?
Posted: Sat Aug 24, 2013 08:44 PM
In the sample below, please click on Test button and you'll get a message saying TDIALOG. So far so good. Then click on Close button and you'll get a new message showing NIL. Is it the expected behavior?

Code (fw): Select all Collapse
#include "Fivewin.ch"


FUNCTION MAIN()

    LOCAL oDlg

    DEFINE DIALOG oDlg

    @ 1, 1 BUTTON "Test";
           ACTION TEST()

    ACTIVATE DIALOG oDlg;
             CENTER

    RETURN NIL


STATIC FUNCTION TEST()

    LOCAL oDlg

    ? GETWNDDEFAULT():ClassName

    DEFINE DIALOG oDlg

    @ 1, 1 BUTTON "Close";
           ACTION oDlg:End()

    ACTIVATE DIALOG oDlg;
             CENTER

    ? GETWNDDEFAULT():ClassName

    RETURN NIL


EMG
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: GetWndDefault() bug?
Posted: Sat Aug 24, 2013 09:03 PM
Enrico,

function SetWndDefault() does not keep a stack, so we have to manage it ourselves:

Code (fw): Select all Collapse
#include "Fivewin.ch"


FUNCTION MAIN()

    LOCAL oDlg

    DEFINE DIALOG oDlg TITLE "One"

    @ 1, 1 BUTTON "Test";
           ACTION TEST()

    ACTIVATE DIALOG oDlg;
             CENTER

    RETURN NIL


STATIC FUNCTION TEST()

    LOCAL oDlg, oDefault := GetWndDefault()

    ? GETWNDDEFAULT():cCaption

    DEFINE DIALOG oDlg TITLE "Two"

    ? GETWNDDEFAULT():cCaption

    @ 1, 1 BUTTON "Close";
           ACTION oDlg:End()

    ACTIVATE DIALOG oDlg;
             CENTER

    SetWndDefault( oDefault ) // we restore the previous default window

    RETURN NIL
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: GetWndDefault() bug?
Posted: Sat Aug 24, 2013 09:10 PM
Antonio,

Antonio Linares wrote:Enrico,

function SetWndDefault() does not keep a stack, so we have to manage it ourselves:


Thank you. I already know that way. Ok, that's fine, no problem my friend. :-)

EMG

Continue the discussion