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 ... 34
Programming / Re: JSON - now array in V16?
« on: September 21, 2020, 06:15:39 PM »
The JSON engine was changed to better handle arrays, however we kept the old version around.

To access the old version simply issue: 


Yes -- you will have to wait till May, but in answer to your question the WITH option simply acts as a if a LOCAL directive was executed prior the start of the method, called or performed program.

The data is passed by value so its a one-way into the invoked logic.

As for methods, the variable can be the same name as a property or local variable and it simply temporarily overrides its value.
For a CALL if the variable was the same an ENTER variable, the ENTER setting would override -- same as if you had a LOCAL prior the ENTER.

We had considered requiring the developer to provide a list of which variables you could pass in to the code using the WITH option, but we figured since this is only a programmer option and not something a end-user could take advantage of the extra overhead made little sense.

Actually for PxPlus 2021 we have added (actually the work is done and the logic is in QA) the ability to include a WITH clause to CALL, PERFORM and any method call to pass in values by variable name.

For example:

myObject'Function(with Name$="Dora", Type$="Cat", Age=10, Color$="Calico" )

When the method is invoked the variables Name$, Type$, Age, and Color$ will have been pre-initialized with the values specified.

Similar logic for:

CALL "SomeProg" with Name$="Dora", Type$="Cat", Age=10, Color$="Calico"
PERFORM "SomeProg" with Name$="Dora", Type$="Cat", Age=10, Color$="Calico"

This pretty much gives you what you were looking for apart from the use of an associative array.

As mentioned, this has already been developed and is one of the many new features that we will be releasing next May with our PxPlus 2021 release.

(BTW: Syntax wise the WITH clause will be accepted in Update 1 of PxPlus 2020 however it will generate a run-time error as the logic will not be enabled until PxPlus 2021)

Registration and Setup / Re: Link File Extensions
« on: September 11, 2020, 10:54:22 AM »

You don't have to worry about the registry entries -- they get created automatically when a user installs WindX. 

So once they have installed WindX all they need is the URL.

Registration and Setup / Re: Link File Extensions
« on: September 11, 2020, 10:15:07 AM »

There is a write up on the 'Link" files in the online documentation which can be found here.

Another similar solution is if your users are connecting via Simple Client Server or SSH is to provide them a web shortcut which would look something like this:

For Simple CS:

Or for SSH:

You can create Windows shortcuts (.url files) for these and have them put it on their desktop.

More information on the windx: link can be found here.

Here are a couple of simple tricks you can use in PxPlus to get similar functionality. 

To quickly create and load an array try:

dim Y$[*]
read data from "Mike,Was,Here",sep="," to Y${ALL}

Use JSON to define/load an associative array:

dim load y$ = "{'name':'Mike', 'eyes':'blue'}"

Use an object to pass data.  First create the following object and save as "data.pvc"

def class "data" accept properties
end def

Now define and use to pass information as in:

oData = new("data" for program)
oData'Param2$="Hello world"

Now you can pass all that data simply by passing the object handle -- and you can use the 'data' object wherever you want and have any number of them each with a different set of properties.

As for creating 'unnamed' arrays, we currently don't have a method to do this but can take it under consideration.

iNomads / Re: No Windows Printers Available
« on: September 11, 2020, 08:55:51 AM »
Glad to hear you got it resolved.  In Windows, when running as a service, the default accounts have limited access to the host machine components. 

Language / Re: finditemtext$ and load on demand
« on: September 10, 2020, 06:17:49 PM »
FindItem$ will only work on those items loaded in the list so you need to force load the list in order to be able to issue a find.

What you can do is issue a FindItem against the list box and if it indicates it cannot find the item, you could try to find the item yourself from whatever data source you are using then position the list box to where it should be (set TopVisibleItem) which would cause the Load on Demand logic to fire.


The issue is how does Wine locate its SSL library?  When you run WindX under Wine we thin we are running in Windows thus we use the Windows Openssl libraries we ship with WindX and the Windows 'winsock' library replacement that comes with Wine.

I don't think the system uses the Ubuntu Openssl libraries at all when running WindX under Wine on Ubuntu.  WindX thinks it is on a Windows system and as such loads its own SSL libraries directly from the install -- and those simply require Windows Winsock.

Given that the issue you are likely having has to do with the 32 Bit Wine and whatever it is using.

I believe there is a 64 Bit Wine and that may be compatible with our 64 Bit WindX plugin.  A PxPlus 2020 WindX is designed to connect to older servers in order to allow clients to migrate their workstations before the host so that may be an option for you.

There is really no 'Easy' way to run older OpenSSL on newer Ubuntu OS's.  Ubuntu, like virtually all Linux system, are shipped with the OS relying on OpenSSL and so changing the Openssl library isn't really very feasible.

Now I'm not certain I understand what exactly you are trying to do. 
What are you running on the Ubuntu Desktop that you are trying to connect to your server and how are trying to connect? 

iNomads / Re: No Windows Printers Available
« on: September 09, 2020, 03:54:57 PM »
In theory there should be no problem opening *windev* however if you are running iNomads as a service the service may not have access to the printers.

iNomads / Re: No Windows Printers Available
« on: September 09, 2020, 03:38:46 PM »
How were you accessing the printer pre-iNomads -- were you accessing it via a WindX connection with a Windows host?  If so then likely the *WINDEV* you were accessing was defined on the workstation and not on the host.  Given this, without WindX you need to configure the printer on the Windows server.

Of course this assumes the server is a Windows server.  If you were running on a Unix/Linux server using WindX then when you switch to iNomads there is no Windows involved thus no Windows spooler to handle the requests.

Nomads / Re: Upgrading
« on: September 05, 2020, 11:11:07 AM »
Just as a followup to this post....

After working with the reseller they determined that the application was reading through the list of objects and automatically dropping all objects that it did not know about.  With the newer release of PxPlus, Nomads uses a few new objects that their application incorrectly deleted.

This is a good reason to ALWAYS try to use one of the FOR PROGRAM/OBJECT/FILE/WINDOW options when creating an object as it helps assure the objects are dropped automatically and thus you don't have to try a cleanup after the fact.

Nomads / Re: Multi select in a Nomads 11.0 Query
« on: September 02, 2020, 05:29:03 PM »
You are correct, the smart load in V11 was part of the professional package.

You may want to consider upgrading.

Nomads / Re: Multi select in a Nomads 11.0 Query
« on: September 02, 2020, 01:24:40 PM »
A query, by its definition, is used to load a value into a input control.  Given that only a single item can be returned.

It is however possible to load a list box from a query definition and then indicate on that list box that multiple selections are allowed.  In theory you could therefore create your own query panel that would be loaded using the standard query definition, then have it pass back multiple selections in whatever format the receiving control will accept.

Pages: [1] 2 3 ... 34