Menu

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.

Show posts Menu

Topics - PxPlus

#101
The STP function can now accept string strip types operators.

The problem can be seen on a line entered as:

    R$=STP(R$,$0A$)

The system syntax checks accepts the line however during execution it failed with an error 26.

At issue is that the STP function accepts a string strip type ("L", "R", "C", "A", or "B") and as such the syntax of a STP function can be

    STP (String$, String$)

However you will get a run-time error if the second string is not one of the possible stripping forms.

This can prove difficult to detect and debug due to the fact that forgetting to include a strip type value would be a common typing mistake.
#102
It is possible when using a PREFIX to have a situation where printing an image to *winprt* will work whereas just changing the output to *viewer* will not.

When you open/print to *winprt* the printing is done in your current process whereas when you use the viewer the printing is done from a spawned session. This can cause a problem when the spawned session does not have the same PREFIX due to some logic in your START_UP or elsewhere in your application.

For example if you had a file "C:\MyApp\junk.bmp" which had an image in it and you issued:

    PREFIX "c:\MyApp\"

You could then open "*winprt*" and issue

    PRINT (ch) 'PICTURE'(100,100,400,400,"junk.bmp")

This will work fine, however if you open *viewer* the PRINT won't work because the Viewer is in spawned task. Only if the PREFIX is set in your START_UP program would the viewer be able to find the image.

To avoid this problem use the full pathname in the 'PICTURE' mnemonic or if using PxPlus use the PTH("image") function to return the full pathname as in:

    PRINT (ch) 'PICTURE'(100,100,400,400,PTH("junk.bmp"))   
#103
If you happen to be trying to open files/programs across an NFS shared drive, check the value in RET for 272. This error code (EBUSY -- Device/File busy) will be returned by the operating system should the 'lockd' background daemon not be installed and active on the host Unix server.

This can happen if you only install/activate the NFS server modules and not the standalone 'lockd' daemon which is part of the NFS-Utils installation.

On Unix/Linux you should be able to check to see if the lock daemon is running by issuing a command similar to this:

   ps -leaf | grep lockd   
#104
FAQs / What causes a CTL -1017
May 30, 2018, 02:49:49 PM
A CTL -1017 is used to indicate that the input is to logically restart. That is the input position is to be placed at the first character of the input and if the next keyboard input is a printable character (non-edit key), the input will be cleared and a new input accepted. If the next keyboard input is a edit key (arrow, Insert, Delete, Home, End, etc...) the system will start the input edit process.

This CTL value is normally generated by the RSTART key as defined in the terminal definitions however it is also generated internally by ProvideX/PxPlus by an INPUT EDIT directive.

When an INPUT EDIT directive is executed the system will load the input buffer with the current value of the variable then insert a CTL -1017 into the input queue.