MMBasic for Windows - betas


Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10086
Posted: 11:40pm 23 Dec 2023      

It is a limitation, not a bug,  live with it or use something else

panky

Guru

Joined: 02/10/2012
Location: Australia
Posts: 1111
Posted: 03:12am 24 Dec 2023      

Without trying to flog a dead horse, the area of interest appears to be the asynchronous interaction between the underlying OS (serial hardware handler and Windows itself), OLC and MMBasic. That is, if you do any form of serial read and IMMEDIATELY follow with a serial close, confusion reigns!

Two solutions/workarounds:-

1. Don't open a comport, do a read then immediately close the com port in any loop (not recommended anyway as all you are doing is wasting system resources in repetitively creating buffers then freeing them);

2. If you MUST do 1 above out of sheer stubbornness, put a PAUSE 1 immediately above the CLOSE statement and live with the performance hit ( on my i7 laptop, a pause of 500uS appears to be the crossover between conflict (lockup) and reliable operation).

The ' works with MMBasic for DOS ' overlooks the complexity added through OLC.

Sorry to butt in Peter but I'm with you - live with it!

Doug.

Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1636
Posted: 03:42am 24 Dec 2023      

  Quote  Without trying to flog a dead horse

I have put my whip away I can live with it and will let sleeping dogs lie.  

I was just a bit frustrated when people were trying something different and claiming not to to find a problem. It IS a bit of a shock when MMB4W just crashes with no warning.

To try to avoid another kerfuffle over this happening again to someone else in the future, is it worth putting something in the manual to describe the cause and the work around(s)?

Bill

phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2449
Posted: 10:08am 24 Dec 2023      

  Quote  when people were trying something different and claiming not to to find a problem.

My apologies for that.
In my blissful ignorance I was unaware of the difference, imagining serial data is all the same. If it's shoved in one end and comes out the other, job done.
After messing about with it on this I see there is more to it.

panky

Guru

Joined: 02/10/2012
Location: Australia
Posts: 1111
Posted: 01:10am 25 Dec 2023      

  Turbo46 said  
To try to avoid another kerfuffle over this happening again to someone else in the future, is it worth putting something in the manual to describe the cause and the work around(s)?
Bill


Cheers Bill,

Will put a note in Appendix A on serial.

Regards,
Doug.

Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1636
Posted: 06:48pm 25 Dec 2023      

Thanks Doug and Phil,

I hope you enjoyed Christmas Day.

Bill

panky

Guru

Joined: 02/10/2012
Location: Australia
Posts: 1111
Posted: 04:43am 19 Jan 2024      

OPTION CONTROLS appears not to be implemented?
Default appears to be 80 but I need a few more
Is this an omission or not implemented in 5.07.03b23?

phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2449
Posted: 05:01am 19 Jan 2024      

OPTION GUI CONTROLS perhaps?

Edit.
No that isn't in the manual either.
Edited 2024-01-19 15:04 by phil99

Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1636
Posted: 06:13am 19 Jan 2024      

Is this what you want?

  The GUI Manual said  The memory required by the GUI controls must be allocated by using the command OPTION
MAXCTRLS n. Typically you would use the command: OPTION MAXCTRLS 100
This will set the maximum number of controls that you can define to 100. This option is permanent (ie,
it will be remembered on power down). By default the maximum number of controls is set to zero, in
this case the GUI features are not available and no memory will be used


Bill

panky

Guru

Joined: 02/10/2012
Location: Australia
Posts: 1111
Posted: 04:56am 20 Jan 2024      

Thanks guys, had a look through the source and I think it defaults to 1000 in MMB4W and there is no OPTION to change it - as memory is not an issue in a PC, there is no need to scrimp on memory usage by changing the value.
Cheers,
Doug.