[Harbour] Re: 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

2008-10-03 Thread David Arturo Macias Corona
I guess that HT means Hyper Thread CPU with two cores. Am I right? You're right. It's a Northwood HT, first generation HT AFAIR. Intel HT (HyperThreading) is ONE physical CPU with TWO logical CPU Is just ONE core To benefit applications must be developed for multi-thread, and/or OS with SMP

[Harbour] SpeedTst.prg and Bld_B32.bat - How to MT/ST -g2/-g3 Compilation

2008-10-03 Thread Pritpal Bedi
Hello Folks Actually I seldom use bld_b32.bat to get executables in harbour/tests folder as all my projects are based on xMate. However it is much more convenient for quickly building tests with bld_b32.bat. Can you please forward the syntax how can I build MT/ST versions with different flags.

Re: [Harbour] 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

2008-10-03 Thread Szakáts Viktor
I've rerun ST tests, now the values seem reasonable: Startup loop to increase CPU clock... 10/04/08 02:34:54 Windows XP 5.1.2600 Service Pack 3 Harbour 1.1.0dev (Rev. 9539) Microsoft Visual C 15.0.26569 (32 bit) N_LOOPS =100 -gc0-gc3 [ emp

Re: [Harbour] 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

2008-10-03 Thread Szakáts Viktor
Thanks Przemek. And just one note, these weren't measured in a VM. In fact I've only run tests in VM once (on the Mac to see some Core2 results), but I didn't post the result, since they looked odd. Brgds, Viktor On 2008.10.04., at 2:32, Przemyslaw Czerpak wrote: On Sat, 04 Oct 2008, Szak�ts V

Re: [Harbour] 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

2008-10-03 Thread Przemyslaw Czerpak
On Sat, 04 Oct 2008, Szak�ts Viktor wrote: Hi Viktor, >>> [ total application time: ]43.00 ..37.75 >>> [ total real time: ]...37.47 ..31.09 >> I would seriously check how MSVC measure time. >> In ST build "total application time" should be lower

Re: [Harbour] 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

2008-10-03 Thread Szakáts Viktor
Hi Przemek, Here are the ST results with new speedtst: [...] [ total application time: ]43.00 ..37.75 [ total real time: ]...37.47 ..31.09 I would seriously check how MSVC measure time. In ST build "total application time" should be lower

Re: [Harbour] 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

2008-10-03 Thread Przemyslaw Czerpak
On Sat, 04 Oct 2008, Szak�ts Viktor wrote: Hi Viktor, > All these were MT speedtsts (two executables, one for -gc0, > one for -gc3), and 3rd 4th were run with a parameter to > enable parallel execution. Thanks, > Here are the ST results with new speedtst: [...] > [ total application time: ]

Re: [Harbour] 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

2008-10-03 Thread Szakáts Viktor
Hi Przemek, P4 2.66/800 HT, XP, MSVS2008 -gc3: I guess that HT means Hyper Thread CPU with two cores. Am I right? You're right. It's a Northwood HT, first generation HT AFAIR. Startup loop to increase CPU clock... 10/03/08 22:23:07 Windows XP 5.1.2600 Service Pack 3 Harbour 1.1.0dev (Rev

Re: [Harbour] hb_threadID()

2008-10-03 Thread Przemyslaw Czerpak
On Fri, 03 Oct 2008, Francesco Saverio Giudice wrote: Hi Francesco, > Here my test: > Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz > L2 Cache Size: 3072 Kb, Bus: 200 Mhz > 4 GB RAM, Vista Ultimate 32bit > Standard Build: > set C_USR=-DHB_FM_STATISTICS_OFF > set HB_BUILD_ST= I would like to ask you

Re: [Harbour] 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak(druzus/at/priv.onet.pl)

2008-10-03 Thread Przemyslaw Czerpak
On Fri, 03 Oct 2008, Enrico Maria Giordano wrote: Hi Enrico, > Przemek, can you fix these? > Harbour 1.1.0dev (Rev. 9542) > Copyright (c) 1999-2008, http://www.harbour-project.org/ > SPEEDTST.prg(147) Error E0003 Duplicate variable declaration 'M_C' > SPEEDTST.prg(150) Error E0003 Duplicate var

Re: [Harbour] 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak(druzus/at/priv.onet.pl)

2008-10-03 Thread Enrico Maria Giordano
-Messaggio Originale- Da: "Przemyslaw Czerpak" <[EMAIL PROTECTED]> A: Data invio: venerdì 3 ottobre 2008 21.53 Oggetto: [Harbour] 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak(druzus/at/priv.onet.pl) 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) - harbour/t

Re: [Harbour] hb_threadID()

2008-10-03 Thread Przemyslaw Czerpak
On Fri, 03 Oct 2008, Francesco Saverio Giudice wrote: Hi Francesco, > Here my test: > Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz > L2 Cache Size: 3072 Kb, Bus: 200 Mhz > 4 GB RAM, Vista Ultimate 32bit > Harbour Terminal: Windows native console > Harbour 1.1.0dev (Rev. 9542) > Windows Vista 6.0.60

Re: [Harbour] 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

2008-10-03 Thread Przemyslaw Czerpak
On Fri, 03 Oct 2008, Szak�ts Viktor wrote: Hi Viktor, > P4 2.66/800 HT, XP, MSVS2008 -gc3: I guess that HT means Hyper Thread CPU with two cores. Am I right? > Startup loop to increase CPU clock... > 10/03/08 22:23:07 Windows XP 5.1.2600 Service Pack 3 > Harbour 1.1.0dev (Rev. 9539) (MT) Micros

Re: [Harbour] hb_threadID()

2008-10-03 Thread Francesco Saverio Giudice
Hi Przemek, Przemyslaw Czerpak ha scritto: To Windows users: I'm very interested in MS-Windows results from real multi CPU machine. Does anyone have such computer and can test it? Here my test: Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz L2 Cache Size: 3072 Kb, Bus: 200 Mhz 4 GB RAM, Vista Ul

Re: [Harbour] 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

2008-10-03 Thread Szakáts Viktor
Hi Przemek, [resent to avoid line wrapping] P4 2.66/800 HT, XP, MSVS2008 -gc3: Startup loop to increase CPU clock... 10/03/08 22:23:07 Windows XP 5.1.2600 Service Pack 3 Harbour 1.1.0dev (Rev. 9539) (MT) Microsoft Visual C 15.0.26569 (32 bit) N_LOOPS =100

Re: [Harbour] 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

2008-10-03 Thread Szakáts Viktor
Hi Przemek, P4 2.66/800 HT, XP, MSVS2008 -gc3: Startup loop to increase CPU clock... 10/03/08 22:23:07 Windows XP 5.1.2600 Service Pack 3 Harbour 1.1.0dev (Rev. 9539) (MT) Microsoft Visual C 15.0.26569 (32 bit) N_LOOPS =100

Re: [Harbour] v1.0.2

2008-10-03 Thread Szakáts Viktor
Hi Randy, There may be one. So far only just a few (exactly 4) fixes were marked to be merged there, so I think we should wait until some more comes, and/or we should decide which selected trunk _features_ we may want to merge there (like dlmalloc.c), and whether these are safe enough. Also, we

Re: [Harbour] hb_threadID()

2008-10-03 Thread Przemyslaw Czerpak
On Fri, 03 Oct 2008, Enrico Maria Giordano wrote: Hi Enrico, >> To Windows users: >> I'm very interested in MS-Windows results from real multi CPU machine. >> Does anyone have such computer and can test it? > Yes, I have an Intel Core 2 CPU 6320. Can you briefly summarize the steps > required to

[Harbour] 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

2008-10-03 Thread Przemyslaw Czerpak
2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) - harbour/tests/speedtst.prg + harbour/tests/speedold.prg * renamed old speed test - I left it because some other xbase compiler cannot compiple the new one due to not Clipper compatible PP + harbour/tests/speedt

Re: [Harbour] hb_threadID()

2008-10-03 Thread Przemyslaw Czerpak
On Fri, 03 Oct 2008, Maurilio Longo wrote: Hi Maurilio, > You're using mutexes for critical sections, in OS/2 there is a > DosEnterCritSection() call which stops task switching until after a > DosExitCritSection() is called. This is only terminology problem. In OS2 API CRITICAL SECTION means pea

[Harbour] 2008-10-03 20:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

2008-10-03 Thread Przemyslaw Czerpak
2008-10-03 20:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/garbage.c * Use spinlock instead of mutex in OS2 builds - performance test. best regards Przemek ___ Harbour mailing list Harbour@harbour-project.org http://l

Re: [Harbour] hb_threadID()

2008-10-03 Thread Maurilio Longo
Przemyslaw Czerpak wrote: > The results are much worse then in my Linux box. > It can be caused be few reasons: > 1. the cost of task switching is probably much higher in OS2 then >in Linux because it has to reload memory descriptors for each >thread - it's forced by TLS format. I don't kno

Re: [Harbour] hb_threadID()

2008-10-03 Thread Enrico Maria Giordano
-Messaggio Originale- Da: "Przemyslaw Czerpak" <[EMAIL PROTECTED]> A: "Harbour Project Main Developer List." Data invio: venerdì 3 ottobre 2008 18.23 Oggetto: Re: [Harbour] hb_threadID() To Windows users: I'm very interested in MS-Windows results from real multi CPU machine. Does an

Re: [Harbour] hb_threadID()

2008-10-03 Thread Przemyslaw Czerpak
On Fri, 03 Oct 2008, Maurilio Longo wrote: > And the winner is :) > they're slower than before. a lot! > I attach two files, speedtst.log which is built with -gc3 and hbvmmt and > speedtstmt.log which is built with the same options but started with a > parameter so that it runs with several thr

Re: [Harbour] hb_threadID()

2008-10-03 Thread Maurilio Longo
And the winner is :) they're slower than before. a lot! I attach two files, speedtst.log which is built with -gc3 and hbvmmt and speedtstmt.log which is built with the same options but started with a parameter so that it runs with several threads. Best regards. Maurilio Longo wrote: > Ok, >

Re: [Harbour] nmake optimization for .prg

2008-10-03 Thread Przemyslaw Czerpak
On Fri, 03 Oct 2008, Szak�ts Viktor wrote: Hi Viktor, > I've tried it, and it's still no go, as now nmake > says it doesn't know how to make "obj\vc\myfirstprg.obj". > Probably because it doesn't see any myfirstprg.c, > and, also cannot see (for some reason) that myfirstprg.c > can be generated f

Re: [Harbour] hb_threadID()

2008-10-03 Thread Maurilio Longo
Ok, found it, I had to move main() as first procedure in file. Maurilio. -- __ | | | |__| Maurilio Longo |_|_|_|| farmaconsult s.r.l.  ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/list

Re: [Harbour] hb_threadID()

2008-10-03 Thread Maurilio Longo
Przemyslaw, I was going to try new speedtst, but even if it builds ok, it does not start, there is no error, no exception, no output. It simply exits. Any idea? Maurilio. Przemyslaw Czerpak wrote: > On Fri, 03 Oct 2008, Maurilio Longo wrote: > > Hi Maurilio, > >>> In -gc[0-2] mode each threa

Re: [Harbour] Sample of the problem with FWH

2008-10-03 Thread Enrico Maria Giordano
-Messaggio Originale- Da: "Przemyslaw Czerpak" <[EMAIL PROTECTED]> A: "Harbour Project Main Developer List." Data invio: venerdì 3 ottobre 2008 13.38 Oggetto: Re: [Harbour] Sample of the problem with FWH It does not look like Harbour problem though it's possible that some modificati

[Harbour] v1.0.2

2008-10-03 Thread Randy Portnoff
Hi all, Is there going to be a v1.0.2 for the stable build? Regards, Randy. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour

[Harbour] Why hbsix.lib?

2008-10-03 Thread Randy Portnoff
Hi all, Why do I need to include hbsix.lib when I link in rddcdx.lib? TIA. Regards, Randy. ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour

Re: RE: [Harbour] Doubt about METHOD and MESSAGE

2008-10-03 Thread [EMAIL PROTECTED]
>Hi Toninho, > >No problem at all, compiler will create a function combined from your method >name and your class name, so no conflict. > >Regards, Thanks for your information, Best regards, Toninho. __ Faça ligações para outros computadores com

RE: [Harbour] Doubt about METHOD and MESSAGE

2008-10-03 Thread J. Lefebvre
Hi Toninho, No problem at all, compiler will create a function combined from your method name and your class name, so no conflict. Regards, JF -Message d'origine- De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de [EMAIL PROTECTED] Envoyé : vendredi 3 octobre 2008 13:05 À 

Re: [Harbour] Increased speed in latest SVN

2008-10-03 Thread Enrico Maria Giordano
-Messaggio Originale- Da: "Przemyslaw Czerpak" <[EMAIL PROTECTED]> A: "Harbour Project Main Developer List." Data invio: venerdì 3 ottobre 2008 13.35 Oggetto: Re: [Harbour] Increased speed in latest SVN Side effect of MT modifications. On some platforms one system call was eliminate

[Harbour] BRMAKE is released as open source

2008-10-03 Thread Massimo Belgrano
BRMAKE creates an executable program from a multi-archive project, using Harbour, xHarbour and MiniGUI.LIB or other libs.  In a project with multiple .PRG files, BRMAKE will compile only those files modified after the last compilation. speeding up the executable creation process.  Now seem that

R: [Harbour] HBDOC & documentation

2008-10-03 Thread Massimo Belgrano
Alejandro Why you Haven't update harbour cvs? Da: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Per conto di Alejandro de Garate Inviato: martedì 30 settembre 2008 0.37 A: harbour@harbour-project.org Oggetto: [Harbour] HBDOC & documentation Viktor, all I am unable to syncronize with SVN

Re: Re: [Harbour] Sample of the problem with FWH

2008-10-03 Thread [EMAIL PROTECTED]
>It does not look like Harbour problem though it's possible that >some modifications in Harbour exploited the problem in FWH. I confirm this issue. FWH MAPI for example is GPFing if you use it with attached files. I´d reported this problem to Antonio too. Regards, Toninho.

[Harbour] 2008-10-03 13:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

2008-10-03 Thread Przemyslaw Czerpak
2008-10-03 13:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/estack.c * pacified OS2 warning best regards Przemek ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/ha

Re: [Harbour] Sample of the problem with FWH

2008-10-03 Thread Przemyslaw Czerpak
On Fri, 03 Oct 2008, Enrico Maria Giordano wrote: Hi Enrico, > This is a sample for who wants to reproduce the problem: > #include "Fivewin.ch" > ANNOUNCE HB_GTSYS > REQUEST HB_GT_GUI_DEFAULT > FUNCTION MAIN() >LOCAL oWnd >DEFINE WINDOW oWnd >DEFINE BUTTONBAR OF oWnd >DEFINE BUTTO

Re: [Harbour] Increased speed in latest SVN

2008-10-03 Thread Przemyslaw Czerpak
On Fri, 03 Oct 2008, Enrico Maria Giordano wrote: Hi Enrico, > Apart from the already reported problem with FWH, I noticed a speed boost > of about 20% using last SNV versions in a sample like this: > REQUEST DBFCDX > FUNCTION MAIN() >LOCAL nSec >LOCAL cCli >RDDSETDEFAULT( "DBFCDX" )

Re: [Harbour] hb_threadID()

2008-10-03 Thread Przemyslaw Czerpak
On Fri, 03 Oct 2008, Maurilio Longo wrote: Hi Maurilio, > > In -gc[0-2] mode each threads makes: > > if( ! --uiPolls ) > > hb_inkeyPoll(); > > in main HVM loop. Simple hack even acceptable in ST programs is killing > > the performance in ST ones. Important is not hb_inkeyPoll() cal

Re: [Harbour] Sample of the problem with FWH

2008-10-03 Thread Enrico Maria Giordano
-Messaggio Originale- Da: "Enrico Maria Giordano" <[EMAIL PROTECTED]> A: "Harbour Project Main Developer List." Data invio: venerdì 3 ottobre 2008 11.32 Oggetto: Re: [Harbour] Sample of the problem with FWH Thank you. I just forwarded your suggestion to Antonio. Antonio has alread

[Harbour] Doubt about METHOD and MESSAGE

2008-10-03 Thread [EMAIL PROTECTED]
Hi ppl. There are any problem to declare a METHOD name with the same name of an internal Harbour function ? For example: ---cut--- METHOD RecNo() METHOD RecNo() CLASS myClass return ( ::nArea )->( RecNo() ) ---cut--- TIA and best regards, Toninho.

[Harbour] Harbour under OS/2

2008-10-03 Thread David Arturo Macias Corona
Current Harbour under OS/2 build/run with just one warning: ../../../estack.c: In function `hb_stackFree': ../../../estack.c:343: warning: passing arg 1 of `hb_xfree' makes pointer from integer without a cast As explained before, switch -O3 show

Re: [Harbour] Sample of the problem with FWH

2008-10-03 Thread Enrico Maria Giordano
-Messaggio Originale- Da: "Juan Gálvez" <[EMAIL PROTECTED]> A: "Harbour Project Main Developer List." Data invio: venerdì 3 ottobre 2008 11.24 Oggetto: Re: [Harbour] Sample of the problem with FWH Enrico, I remember FWH has a dynamic link to this function and although I don't know

Re: [Harbour] Sample of the problem with FWH

2008-10-03 Thread Juan Gálvez
_ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour __ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 3491 (20081003) __ ESET NOD32 Antivirus ha comprobado este mensaje. http://www.eset.com _

Re: [Harbour] Sample of the problem with FWH

2008-10-03 Thread Enrico Maria Giordano
-Messaggio Originale- Da: "Juan Gálvez" <[EMAIL PROTECTED]> A: "Harbour Project Main Developer List." Data invio: venerdì 3 ottobre 2008 10.56 Oggetto: Re: [Harbour] Sample of the problem with FWH Hi Enrico, Is your current FWH version using the function TrackMouseEvent() ? Yes,

Re: [Harbour] Sample of the problem with FWH

2008-10-03 Thread Juan Gálvez
it/tbosg The EMG Music page: http://www.emagsoftware.it/emgmusic ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour __ Información de ESET NOD32 Antivirus, versión de la base de firmas de viru

[Harbour] Sample of the problem with FWH

2008-10-03 Thread Enrico Maria Giordano
This is a sample for who wants to reproduce the problem: #include "Fivewin.ch" ANNOUNCE HB_GTSYS REQUEST HB_GT_GUI_DEFAULT FUNCTION MAIN() LOCAL oWnd DEFINE WINDOW oWnd DEFINE BUTTONBAR OF oWnd DEFINE BUTTON; OF oWnd:oBar ACTIVATE WINDOW oWnd RETURN NIL Jus

Re: [Harbour] hb_threadID()

2008-10-03 Thread Maurilio Longo
And I did a full comparison, here we go MT my speedtst modified to use two threads, -gc3 55.2 MT original speedtst, -gc3 65.07 MT original speedtst, no gc options, so -gc0 71.4 ST original speedtst, no gc options, so -gc0 52.2 Maurilio. -- __ | | | |__| Maurilio Long

Re: [Harbour] hb_threadID()

2008-10-03 Thread Maurilio Longo
Hi Przemyslaw, Przemyslaw Czerpak wrote: > And I've got the answer. At least on my computer it's a hardware issue. > In -gc[0-2] mode each threads makes: > > if( ! --uiPolls ) > hb_inkeyPoll(); > > in main HVM loop. Simple hack even acceptable in ST programs is killing > the perfo

Re: [Harbour] nmake optimization for .prg

2008-10-03 Thread Szakáts Viktor
Hi Przemek, I've tried it, and it's still no go, as now nmake says it doesn't know how to make "obj\vc\myfirstprg.obj". Probably because it doesn't see any myfirstprg.c, and, also cannot see (for some reason) that myfirstprg.c can be generated from myfirstprg.prg. Can easily be that I'm missing s

[Harbour] Increased speed in latest SVN

2008-10-03 Thread Enrico Maria Giordano
Apart from the already reported problem with FWH, I noticed a speed boost of about 20% using last SNV versions in a sample like this: REQUEST DBFCDX FUNCTION MAIN() LOCAL nSec LOCAL cCli RDDSETDEFAULT( "DBFCDX" ) USE E:\EMAGFW\GESR\CORSE nSec = SECONDS() WHILE !EOF()

[Harbour] 2008-10-03 09:37 UTC+0200 Viktor Szakats (harbour.01 syenar hu)

2008-10-03 Thread Szakáts Viktor
2008-10-03 09:37 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/vm/extrap.c + Now using standard internal error call for Windows too. + Implemented //BATCH for OS/2. (please test) * source/rtl/errorint.c * Upped internal buffer. -- Brgds, Viktor __

Re: [Harbour] hb_threadID()

2008-10-03 Thread Maurilio Longo
Pritpal, Sorry, I was not clear enough, on OS/2 threads are numerated like this, xbase++ was born on OS/2 and probably mutuated such numbering from the OS. Best regards. Maurilio. Pritpal Bedi wrote: > Maurilio > > > Because I'm used to use a thread id which is a number, this is the way i

Re: [Harbour] hb_threadID()

2008-10-03 Thread Maurilio Longo
Przemyslaw Czerpak wrote: > > But you haven't explained why numeric value is better then pointer. Because when you print it it is more 'natural' or easy to the eye than a 0x03938474 or something like that. That said, you're the master here, I did not want to introduce inconsistencies in the way t

[Harbour] 2008-10-03 09:04 UTC+0200 Viktor Szakats (harbour.01 syenar hu)

2008-10-03 Thread Szakáts Viktor
2008-10-03 09:04 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbole/oleauto.prg * contrib/hbole/ole2.c * contrib/hbwin/win_tole.prg * contrib/hbwin/win_ole.c * OLESHOWEXCEPTION() implemented on the .prg level, using Alert() rather than MessageBox(). ! All MessageB