Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 12 total
Thread InvalidStateError with Windows 7 Embedded system.
Mon, Jan 6 2020 4:33 PMPermanent Link

Dave White

Pace Analytical Services, LLC.

I'm setting up a system in our lab using wall mounted TVs with HP ThinClients to drive them. The display is basically a few text and grid fields, with data sourced from an Access database on the main server.

For testing, I have a single table in the database, with two fields - an autoinc primary key and a memo field for text. The database file is named TVData.mdb and located in the same folder as the application source. The database in EWB is named "TV" and the dataset is "devstatus".  I dragged this from the Database Manager and dropped on the main form so there is no separate module. There's also an image field dourced from the internet, to test links from outside the network.

I have a multi line edit linked to the memo field in the dataset.

The source code couldn't be simpler - in the main form Create, I have:
    Database.DatabaseName := 'TV';       // assign the database name
    DevStatus.Open;                              // open the dataset
    Timer1.enabled := true;                     // timer interval 3 seconds

and in the timer event:
    Database.LoadRows(DevStatus);


I've configured the EWBSRVR app by importing the database and dataset, enabling CORS and setting the content folder to point to the folder containing the database and javascript source. The database and module resource names are all left at their default.

When I run this in a local browser, it runs fine, the multiline edit displays the text from the database. I can edit the database, and when the timer fires, the display refreshes with the edited data. I've tested this on multiple browsers, from IE9 up, Chrome and FireFox - on local browsers, browsers in virtual machines on my PC, and remote PCs - no problems.

However, when I try to run this on the HP thin clients, which are running Windows 7 embedded, I get the display without any problems, but when the timer fires I get an error box

     Error executing request "databases" (InvalidStateError)
     Line 6054

Looking through the forum, this is similar to a CORS error (same line number), but I have CORS enabled in the server; and the app works fine on regular Windows systems, only failing on the Windows 7 embedded with IE 10.

Anybody have any idea of what could be happening, or where to look next. I've reduced the security to the bare minimum/off on the thin client already.

Thanks
Tue, Jan 7 2020 6:44 AMPermanent Link

Matthew Jones

Dave White wrote:

>  Line 6054

Assuming you don't have compression on, that must surely be your biggest clue? And can the browser debug facilities show you what is happening? It might be possible to see the stack or object states.

I presume that the previous request hasn't completed yet, or some such. Searching the EWB source for that InvalidStateError may give more clues too.

--

Matthew Jones
Tue, Jan 7 2020 10:27 AMPermanent Link

Dave White

Pace Analytical Services, LLC.

Line 6054 is just the catch block for the webhttp_tserverrequest.$p.execute function

So that just tells me that a server request is failing. I was hoping that the error message would help narrow the issue.

I did do a grep search on all files in both the ewb and modules install folders, but didn't get a hit (which surprised me).
Tue, Jan 7 2020 12:18 PMPermanent Link

Raul

Team Elevate Team Elevate

On 1/7/2020 10:27 AM, Dave White wrote:
> Line 6054 is just the catch block for the webhttp_tserverrequest.$p.execute function
>
> So that just tells me that a server request is failing. I was hoping that the error message would help narrow the issue.
>
> I did do a grep search on all files in both the ewb and modules install folders, but didn't get a hit (which surprised me).

It's probably a more generic javascript error passed thru.

Couple of things i would suggest (not direct help though)

1. Can you check and see if browser is running in some emulation mode of
any sort (i.e. use https://www.whatismybrowser.com/ to make sure it gets
reported as IE10 on win 7)

2. Any chance your timer end time while it's still processing previous
request ?

Can you try disabling the timer itself on start of that timer event and
then re-enable it when server "request complete" event gets fired

Raul
Tue, Jan 7 2020 1:32 PMPermanent Link

Dave White

Pace Analytical Services, LLC.

Well, it'll not even access whatismybrowser. Some other sites load no problem, some crash out with javascript errors.

After two days messing with this one error, not to mention the other limitations of the embedded Windows and the ThinClient platform itself, I'm throwing in the towel and ordering an Intel thumb PC with Windows 10 home. If that works, which I'm guessing it will, I'll buy a dozen of those for the other TVs.

On the plus side, EWB seems like it'll do a great job.
Tue, Jan 7 2020 7:27 PMPermanent Link

erickengelke

Avatar

Dave White wrote:

>Well, it'll not even access whatismybrowser. Some other sites load no problem, some crash out with javascript errors.

>After two days messing with this one error, not to mention the other limitations of the embedded Windows and
>the ThinClient platform itself, I'm throwing in the towel and ordering an Intel thumb PC with Windows 10 home. If
>that works, which I'm guessing it will, I'll buy a dozen of those for the other TVs.

> On the plus side, EWB seems like it'll do a great job.

I've set up a number of tiny embedded systems using  Raspberry Pis for much less than $100, and my staff have also done some Chromeboxs which have better video acceleration than the Pis, mostly useful for playing movie files.  PIs are fine for most applications we throw at them. We use them to accept user input from USB card readers, and also to drive wall displays.  We have a bunch of the 2GB models, there are also 4GB models which are quite powerful.  Some use external displays, we also have some with 5 inch touchscreens that work flawlessly and attach to the PI's directly.

I have two Win10 home micro-tiny 32 bit PC devices, but haven't tried them for embeded web applications.  Locking them down is too much of a hassle because the password can be discovered from the registry if someone attaches a USB keyboard.  

Windows 7 is dead, finito, Support ends this month, and at the rate vulnerabilities tend to be found, it will be unusable in a matter of days or weeks.  

Elevate Web Builder works flawlessly with the PI's and Chromeboxes, and their OS software is not end-of-life, so that's my recommendation.  Staying updated can be done with standard Linux cron jobs.

To be clear, I don't do the hardware or OSs myself, my staff take care of that for our production work.  

Good luck,
Erick
EWB Programming Books and Component Library
http://www.erickengelke.com
Tue, Jan 7 2020 10:48 PMPermanent Link

Dave White

Pace Analytical Services, LLC.

Going to try a couple of PIs too. This is a super simple display - just posting a half dozen statuses to the TVs and refreshing every minute or so, so a PI would have plenty of power. I just happen to have a dozen HP t610 Thin Clients sitting in a box doing nothing, and this seemed like the perfect use for them. They'll probably just end up in the landfill.
Wed, Jan 8 2020 3:52 AMPermanent Link

Matthew Jones

Dave White wrote:

> Well, it'll not even access whatismybrowser. Some other sites load no problem, some crash out with javascript errors.

Might be worth checking if the most up to date SSL/TLS is supported, assuming that this is using it. But the browser is probably pretty old, so certainly worth looking at another solution.

--

Matthew Jones
Wed, Jan 8 2020 4:00 PMPermanent Link

Raul

Team Elevate Team Elevate

On 1/7/2020 10:48 PM, Dave White wrote:
> Going to try a couple of PIs too. This is a super simple display - just posting a half dozen statuses to the TVs and refreshing every minute or so, so a PI would have plenty of power. I just happen to have a dozen HP t610 Thin Clients sitting in a box doing nothing, and this seemed like the perfect use for them. They'll probably just end up in the landfill.
>

Is installing a slightly more modern browser on them an option ?

Firefox and Chrome i believe still support Win 7.

Raul
Wed, Jan 8 2020 4:16 PMPermanent Link

Dave White

Pace Analytical Services, LLC.

A more modern browser would be the ideal, but the ThinClient software works seamlessly with IE to put it into kiosk mode, which won't be automatic with the other browsers - if I could even figure out how to install them, this thing is locked down so tightly.

I've decided to move on and try a few Raspberry PI models, and an Intel thumb PC. One of these should work just  fine.
Page 1 of 2Next Page »
Jump to Page:  1 2
Image