Page 1 of 2

Can not create dialog 7.11

Posted: Mon Nov 26, 2007 2:12 pm
by demont frank
Hello,

Last week we have made a upgrade to fwh7.11

From that moment we have many error's , 'can not create dialog', at random . Today , with 5 customers , +/- 10

This error occurs only after some time ( 30 min) , so i suppose it has something to do with memory management.

How can i test memory and controle were it go's down ?

Frank

Posted: Mon Nov 26, 2007 3:00 pm
by Otto
Do you have this fix?

This is a necesary fix for FWH 7.11 in Class TMsgBar:
Code:

METHOD SetMsg( cText ) CLASS TMsgBar

DEFAULT ::cMsg := ""

if ::l2007
::cMsg = cText
::Refresh()
return nil
endif

::GetDC() // must be placed here!!!
...


_________________
regards, saludos

Antonio Linares
www.fivetechsoft.com

Posted: Mon Nov 26, 2007 3:08 pm
by demont frank
Otto ,

Yes , it is applyed. It seems to be very bad , since the previous thread , 3 other errors are reported , all 'cannot create dialog' , at random.

Most off them occurs after +/- 1 hour

Frank

Posted: Mon Nov 26, 2007 3:51 pm
by Otto
Hello Frank,

I don’t have FWH versions at my clients. In-house we use the program 7*24 hours with no problem on Vista PC's.
I use Harbour what do you use?

Sure you are a harbor expert but I mention what problems I faced:

I had fieldnames and function names in clipper where sometimes from the 10 position on the names were not identically.
Clipper does not care about but in harbor you get an error.


Regards,
Otto

Posted: Mon Nov 26, 2007 4:51 pm
by demont frank
Otto,

From the moment we changed to fwh7.11 , we have at least 10 errors a day , all 'cannot create dialog' , at random

2 hours ago i went back to 7.7 , from then no errors.

So i am convinced it is a memory problem from 7.11

Antonio ???

Frank

Posted: Mon Nov 26, 2007 5:20 pm
by Otto
Do you use harbour or xHarbour?
Regards,
Otto

Posted: Mon Nov 26, 2007 6:20 pm
by Antonio Linares
Frank,

We haven't modified anything in 7.11 that could cause those "can't create dialog" errors.

It has to be something else that you have recently changed in your application, or something related to Harbour/xharbour

Do you use Borland controls in your dialog boxes ?

Posted: Mon Nov 26, 2007 6:46 pm
by Antonio Linares
What controls do you use in those dialogboxes ?

Posted: Mon Nov 26, 2007 8:03 pm
by norberto
HI, i use fwh 7.10 and 7.11, with fix, in 7*24, 15 workstations, 1000000 records without problems.

xharbour cvs 1.00 30/10/2007 (compile myself)
fwh 7.11 (compile myself)
bcc 551 sp2
ads server (local to tests)
windows server network with nt4 workstation and xp workstations

are you using borland controls??

Posted: Tue Nov 27, 2007 8:01 am
by demont frank
Antonio,

I am working in a MDI environnement with dialog's.
Each dialog is executed from xbrowse. The dialog's have in some cases a tsbrowse or xbrowse object , together with the common control's from fw (no borland controls).


I am using xhb 1.01

How can i follow the memory ammount during execution ?
Can i place some tracelog's to see which value it has ?

Frank

Posted: Tue Nov 27, 2007 9:02 am
by Antonio Linares
Frank,

> I am using xhb 1.01

Do you mean xHarbour commercial ?

> How can i follow the memory ammount during execution ?

The cannot create dialog box is a not a memory related issue. Anyhow you can open Windows's tasks manager and locate your application and check what memory amount is using

Posted: Tue Nov 27, 2007 11:43 am
by demont frank
Antonio,

Comercial version

Compiling with fwh7.11 , i can reproduce the error :

xbrowse is used to select a record (dialog)

Opening the dialog , closing it and repeat this ( +/- 20 or more , unpredictable) , result in a error

Error description: Error FiveWin/3 Cannot create Dialog Box:
Title: Bijsluiters : 930920 /1 Aantal : 4800 BWB /MW

Stack Calls
===========
Called from: DIALOG.PRG => CREATEDLGERROR(0)
Called from: DIALOG.PRG => TDIALOG:ACTIVATE(0)
Called from: INVBEST.PRG => SHOWAOFB(3826)
Called from: INVBEST.PRG => (b)INPDLGDOSA(1279)
Called from: XBrowse.prg => TXBROWSE:LBUTTONDOWN(2408)
Called from: => TWINDOW:HANDLEEVENT(0)
Called from: CONTROL.PRG => TXBROWSE:HANDLEEVENT(0)
Called from: window.prg => _FWH(3233)
Called from: => WINRUN(0)
Called from: window.prg => TMDIFRAME:ACTIVATE(900)
Called from: HENMAIN.PRG => MAIN(149)

During this test memory increases from 744 to 790 (maybe 50 cycles)

The same test , after compiling with 7.7 , has not given an error

After memory was 800 , and maybe 100 x openening and closing , i give it up

Is it normal that memory increases during this test ?

Frank

Posted: Tue Nov 27, 2007 3:33 pm
by Antonio Linares
Frank,

Thats a very little memory increase. Its not a problem, as Harbour calls the garbage collector from time to time

Are you using Borland controls in that dialogbox ? How do you End() the dialog ? Please show us a portion of the source code, thanks

Posted: Wed Nov 28, 2007 8:41 am
by demont frank
No borland control's.

I try to use in most dialog's the same procedure

First , in main , a MDI window is opened in a global var ownd. Other modules have GLOBAL EXTERNAL oWnd

When in the menu is choosen to edit a dbf , a dialog from oWnd (no wait clausule)with xbrowse is opened to choose the record. This can be done with RETURN or lDblClick.
I noticed that when lDblClick is used the memory tends to increase, not with RETURN

All the dialog's follow the same procedure :

Code: Select all

DEFINE DIALOG oDlg RESOURCE "INVLEV" OF oWnd TITLE WinTit
oDlg:bGotFocus  = { ||dbSelectArea(cAlias) }
....
Define xbrowse and some buttons
....
ACTIVATE DIALOG oDlg NOMODAL;
ON INIT (SetXpos(oBrw,nLast) , oBrw:Setsize(BrwWidth) , InitDlg(oDlg));
VALID  ( IIF(lSluit , .T. , IIF(GETKEYSTATE(VK_ESCAPE) , (oBut:Setfocus() , .F.) , .T.) ) )
lSluit is set to .T. with the action from the ok-button

From this dialog the edit dialog is opened , same procedure

Antonio , it is a serious problem , making it impossible to use fwh7.11
Monday (+/- 10 customers) , i had 15 errors. After compiling with 7.7 and activating this exe , no errors anymore !!!!!!

On some computers , the error happens after 30 min , other after one or two hours.

Frank

Posted: Wed Nov 28, 2007 8:47 am
by Antonio Linares
Frank,

Please post the RC source for RESOURCE "INVLEV"

Also please remove NOMODAL, just for a test, and lets see if that makes a difference. Thanks