PxPlus User Forum

Twitter Twitter Twitter

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Mike King

Pages: [1] 2 3 ... 41
Language / Re: schedule a providex program
« on: June 10, 2021, 11:32:11 AM »
Assuming you are using a properly registered license there should not be any prompting for an OK by PxPlus / ProvideX.  The EXE initialization only prompts for an OK to confirm an issue with the license such as running on a temporary key used for software installation which has an expiry date that you need to confirm.

I myself have the Windows Task Scheduler run a couple of PxPlus programs every night with no problem.

Language / Re: Intermittent error 261 and 278
« on: June 10, 2021, 11:25:08 AM »

Make sure they have disable the Windows idle timeout on the mapped drives.  What can happen with mapped drives is if there is no activity for an extended period of time the OS drops the connection which then causes trouble when we try to do subsequent IO.

Here is a link that lets you know how to change the timeout setting:


Wish List / Re: Key function addition
« on: June 07, 2021, 09:07:47 AM »
Not certain what you are looking for and how it would be benefical.

Currently you can use the KEY(nn, KEY=x$:x1$:x2$) to generate the key, also you can use the KGN function to generate the key based on the record contents.

Also you can specify more key fields than needed.  For example if writing a generic access routine simply code it as KEY(nn,KEY=arg(K$,1,sep):arg(k$,2,sep):arg(K$,3,sep) ...

Nomads / Re: Object Dependency question
« on: June 04, 2021, 05:45:27 PM »
One issue we often see with complex object interdependencies is objects that relay on other objects in order to complete their "On_delete" logic.

When you exit PxPlus with objects still active, the system attempts to close all the objects however it has no idea of the order your application may require in order to shutdown properly.  Internally it attempts to delete objects starting from the most recently created ones first based on their reference count but that may not always work or be viable.

We have seen, sadly on numerous occasions, objects that when being deleted access resources on other objects without regard as to whether the other object still exists.  This often results in some form of error trap which in itself may reference objects that are no longer present.

Care should be taken to always check in that any object deletion logic that relies of external objects first checks that the object is still present and handles it appropriately.

Nomads / Re: Object dependency For Windows
« on: June 03, 2021, 12:14:57 PM »
It would have to be done in the Post-Display of the window since during the pre-display the window does not exist as you can change settings what will be used when the window is created.

Part of what governs what 2-3 users will handle depends on your code and the application design.  For example a typical application I would anticipate you can comfortably handle 5 live users per licensed user.

Generally an interaction between the browser and host will take less than 1 second and also typically the panels won't actually need a host interaction more than once every 5-10 seconds.  This will vary between screens, but most inputs won't need host involvement so as data is being entered browsed, etc nothing is actually running on the host.

Of course some tasks might take longer but the requests are spread out between tasks so performance remains pretty consistent.

If you have an 80 user Web license then up to 80 simultaneous host tasks can be servicing your web site.  Since these tasks only exist for the fractions of a second that most requests require, your 80 user license would likely support hundreds of users on your web site.

Webster uses a lot of HTML 5 local processing to validate and process the application UI locally. Things like resizing, changing folders, tabbing, input validation is handled locally.  List box and grid sorting and column sizing along with grid row removal and changing row orders is also done locally.

It also provides a framework for web development with user management, security, layout, along with access to many Nomads components.

Release Candidate 1 for PxPlus 2021 is now available on our download site at: https://home.pvxplus.com/pgsrvr.pvp?pg=dl_pxp1800rc01

Due to the number of changes and enhancements with this release, we have decided to make a Release Candidate available prior the actual release in order to obtain feedback on the product.  The official release of PxPlus 2021 (v18) is planned for mid-June.

Some of the major enhancements included in this release include:

  • Webster+ for HTML page generation
  • Support for larger screens with more controls
  • Added named parameters to CALL, PERFORM and Methods
  • Enhanced Array management
  • New PxPlus Objects for working with Google Workspace┬« cloud-based applications Drive, Docs and Sheets
  • Improved File Maintenance Generator, including support for Webster+ HTML page generation
  • Improved support for ADA (USA)/WCAG (Canada) compliance
For more information, please check out our 'Sneak Peek' video below or refer to the release documentation at: https://manual.pvxplus.com/page/pxplus/vers1800.htm

Programming / Re: Device communication via a USB port
« on: May 28, 2021, 04:48:10 PM »
Most desktop PC can have a RS232 card installed which would allow you to continue to connect to a cash drawer using COM1.  They cost usually under $20.

Basically the industry just no longer bothers shipping PC's with RS232 or Parallel ports since few of these are required.

About the only challenge might be getting the driver installed if using Windows as these are considered "Legacy Hardware" which you may have to select in the 'Action' section of the Device Manager menu.

You might be able to also use a USB to Serial adapter to connect to the device.

See, not all dinosaurs are extinct.... yet  :)

Programming / Re: PDF viewer cutting off bottom of text
« on: May 26, 2021, 10:24:53 AM »
Glad to hear it all worked out.

Also, thanks for mentioning where you got the logic from. We will adjust it.

Part of the problem you were having is that PDF's work in Points (1/72 of an inch), whereas WINPRT works in Pixels which range from 1/300 of an inch to over 1/1500 of an inch.  As such the impact of rounding is less pronounced whereas the loss of 1 point (1/72 of an inch) when printing typically 8 lines per inch means a loss of 1/9 of the character height which can be visual.

Programming / Re: PDF viewer cutting off bottom of text
« on: May 25, 2021, 04:02:25 PM »
The issue is your logic that is looping around fiddling with the font size. 

If we delete line 7 and 9 and replace line 8 with a direct computation it works fine:

0007 ! WHILE (MXC(prn)<Cols_Reqd AND ++loop<5)
0008 PRINT (prn)'FONT'(font$,0-INT(12*MXC(prn)/Cols_Reqd)),'DF', ! Scale the font
0009 ! WEND

Fonts only come in specific sizes based on resolution of the device and when you start repetitive rounding of percentages in your WHILE/WEND loop the result is not correct.

Basically the change in the logic simply picks a good starting point font (12) then uses that to compute a size based on how many columns that font size yielded versus the desired number of columns.

Off Topic / Re: Determining a Cell Provider
« on: May 21, 2021, 01:38:28 PM »
Glad to assist.

We use a "free/pay as you go" account at smsmatrix ourselves.   Basically for $9.00 we buy blocks of 100 SMS text messages.  That's a cost $0.09 each with no upfront/monthly commitment.

They have other types of accounts depending on your volume. 

So far it was worked quite well both here (Canada) and in the US.  We have found that generally the text message gets delivered within 10 seconds of the time we submit it.

Off Topic / Re: Determining a Cell Provider
« on: May 21, 2021, 01:27:14 PM »

Why not use the *tools/sms utility that comes with PxPlus?

Check out: https://manual.pvxplus.com/page/utilities/sms.htm

Programming / Re: Does PID Exist
« on: May 20, 2021, 10:57:02 AM »
Well checking on the status of other user processes is considered an admin function so my guess is Windows denies our get status request. 

Windows has a lot of built-in security, mostly good, but some that can get in the way. 

You might also try something like this:

SELECT RECORD r$ FROM "<tasklist /FI ""PID eq 3996"" /NH" WHERE POS("3996"=r$)
  found = 1
PRINT found

Just replace 3996 with the PID you are looking for.

Programming / Re: Does PID Exist
« on: May 20, 2021, 10:24:57 AM »

I just tried this myself on Windows 10 and it worked.

I brought up the Windows Task Manager, asked for "More Details" so the the PID would show, then tried SYS(nnn) with a number of the PIDs.  It always seemed to return 0 when the process existed and -1 if it didn't.

If that is not working for you, let us know what version of Windows are you using in case Microsoft has changed something.

Pages: [1] 2 3 ... 41