Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 10 total
Thread Database.LoadRows Crashing With An Application Script Error
Mon, Jul 6 2015 5:17 AMPermanent Link

Frederick Chin

I am using EWB2 in Windows XP.

If I use the internal web server, I don't see anything in the output window when the application is run. All the example applications don't show anything as well. I guess it must be the internal browser not being compatible with XP.

When I use Chrome v43 and call the HTML file directly, the form is displayed but it chokes on the line:

Database.LoadRows(tblArdata);

with an Application script error at line 0.

tblArdata is a DBISAM dataset that I dragged and dropped on the form. The row source is defined as a table and the preview shows the correct data.

What am I missing here?

P.S.   Is there a thing like a data module in Delphi for EWB to organise datasets in one place. The dataset manager still requires the dataset to be dropped onto a form and the latter can be messy looking with many datasets.

Frederick
Mon, Jul 6 2015 5:24 AMPermanent Link

Huseyin Aliz

myBiss ApS

Avatar

Hi Frederick,

I dont think XP are supported in ewb2, see following:

http://www.elevatesoft.com/incident?action=viewrep&category=ewb&release=2.00&incident=4179

Regards,
Hüseyin


Den 06-07-2015 kl. 11:17 skrev Frederick Chin:
> I am using EWB2 in Windows XP.
>
> If I use the internal web server, I don't see anything in the output window when the application is run. All the example applications don't show anything as well. I guess it must be the internal browser not being compatible with XP.
>
> When I use Chrome v43 and call the HTML file directly, the form is displayed but it chokes on the line:
>
> Database.LoadRows(tblArdata);
>
> with an Application script error at line 0.
>
> tblArdata is a DBISAM dataset that I dragged and dropped on the form. The row source is defined as a table and the preview shows the correct data.
>
> What am I missing here?
>
> P.S.   Is there a thing like a data module in Delphi for EWB to organise datasets in one place. The dataset manager still requires the dataset to be dropped onto a form and the latter can be messy looking with many datasets.
>
> Frederick
>

Mon, Jul 6 2015 9:41 AMPermanent Link

Raul

Team Elevate Team Elevate

On 7/6/2015 5:17 AM, Frederick Chin wrote:
> I am using EWB2 in Windows XP.
> If I use the internal web server, I don't see anything in the output window when the application is run. All the example applications don't show anything as well. I guess it must be the internal browser not being compatible with XP.

Correct - it needs an HTML5 capable browser (IE9 is the minimum right
now and unfortunately not available on XP).


> When I use Chrome v43 and call the HTML file directly, the form is displayed but it chokes on the line:
> Database.LoadRows(tblArdata);
> with an Application script error at line 0.

What do you mean by "calling it directly" ? If you mean opening the html
file (using file path) then it will not work for any EWB application
that needs database access (since data needs to be hosted by the server
as well - IDE or EWB Web Server both are capable of this).

What you need to do is open the actual web URL

So it will be a a 2 step process :
1. run the project in EWB IDE normally (you won't see anything but
that's just embedded browser issue)
2. open the chrome and use "http://localhost/<projectname.html>" - this
URL is shown in IDE usually (i assume it still shows so just type it
from there or use the project name + html extension for file).


More hassle but useable - you can leave the browser open.


> P.S.   Is there a thing like a data module in Delphi for EWB to organise datasets in one place. The dataset manager still requires the dataset to be dropped onto a form and the latter can be messy looking with many datasets.

Not today. You can always do a non-visible form to host them and have it
globally accessible anywhere in your app (not as clean as dataset but
overhead will be relatively small i think since it's loaded once and
never shown).

Raul
Mon, Jul 6 2015 10:47 AMPermanent Link

Frederick Chin

Hi Huseyin,

/*
I dont think XP are supported in ewb2, see following:

http://www.elevatesoft.com/incident?action=viewrep&category=ewb&release=2.00&incident=4179
*/

Actually, EWB2 seems to work fine in XP. It's just that the output cannot be viewed with the internal web browser.

However, I haven't gone deep enough into EWB 2 to encounter any serious problems with the IDE and generated code in XP. Maybe, Tim can chime in to let me know what I should avoid doing.

Frederick
Mon, Jul 6 2015 11:02 AMPermanent Link

Frederick Chin

Hi Raul,

/*
Correct - it needs an HTML5 capable browser (IE9 is the minimum right
now and unfortunately not available on XP).
*/

Noted and that's why I use and prefer to use Chrome.

/*
What do you mean by "calling it directly" ? If you mean opening the html
file (using file path) then it will not work for any EWB application
that needs database access (since data needs to be hosted by the server
as well - IDE or EWB Web Server both are capable of this).
*/

I used Chrome to open the HTML file hosted on an Apache server directly. After I posted this message, I realized that the error was because Apache did not know what to do with the database call and croaked accordingly.

/*
What you need to do is open the actual web URL

So it will be a a 2 step process :
1. run the project in EWB IDE normally (you won't see anything but
that's just embedded browser issue)
2. open the chrome and use "http://localhost/<projectname.html>" - this
URL is shown in IDE usually (i assume it still shows so just type it
from there or use the project name + html extension for file).

More hassle but useable - you can leave the browser open.
*/

What I do now is to run the EWB web server externally and use Chrome to call the generated HTML file. The error is no longer seen and I can see the table contents in the grid.

/*
Not today. You can always do a non-visible form to host them and have it
globally accessible anywhere in your app (not as clean as dataset but
overhead will be relatively small i think since it's loaded once and
never shown).
*/

Thanks for tip. That will do nicely.

P.S.   With this EWB server requirement to read DBISAM tables, I presume that there will be no way for my DBISAM tables to reside on a third party Apache web server and for the EWB client application to read it?

Frederick
Mon, Jul 6 2015 11:25 AMPermanent Link

Raul

Team Elevate Team Elevate

On 7/6/2015 11:02 AM, Frederick Chin wrote:

Hi Frederick,

> P.S.   With this EWB server requirement to read DBISAM tables, I presume that there will be no way for my DBISAM tables to reside on a third party Apache web server and for the EWB client application to read it?
>

I don't believe so.

Not that it really matters but is it Apache on Windows or Linux ?

EWB itself is database agnostic - web server has to do the DB reading
and then it communicates using JSON with EWB app.

Hence the problem boils down to can apache based server read dbisam
tables?  AFAIK it cannot not.

For ElevateDB there is a PHP layer (i think windows only) but i don't
believe there is anything similar for DBISAM.

Raul




Mon, Jul 6 2015 9:48 PMPermanent Link

Frederick Chin

Hi Raul,

/*
Not that it really matters but is it Apache on Windows or Linux ?
*/

The Apache server is on Linux.

/*
For ElevateDB there is a PHP layer (i think windows only) but i don't
believe there is anything similar for DBISAM.
*/

As far as DBISAM tables are concerned, I can use EWB's web server to host the files.

However, I want to look beyond this and support MySQL and SQL Server databases as well. My idea is to use EWB to create the client applications and for it to manage the databases hosted by third parties. The client must work in desktops, tablets and mobile phones.

Can EWB, in conjunction with the use of another component or JS file, be used in this scenario or do I have to drop back to writing pure JS or PHP?

Frederick
Mon, Jul 6 2015 11:04 PMPermanent Link

Raul

Team Elevate Team Elevate

On 7/6/2015 9:48 PM, Frederick Chin wrote:

Frederick,

> However, I want to look beyond this and support MySQL and SQL Server databases as well. My idea is to use EWB to create the client applications and for it to manage the databases hosted by third parties. The client must work in desktops, tablets and mobile phones.

In my view this is the raison d'être for EWB - writing client side
(javascript) apps.


> Can EWB, in conjunction with the use of another component or JS file, be used in this scenario or do I have to drop back to writing pure JS or PHP?

Yes you can definitely use EWB for this purpose.

The back-end database is completely invisible to EWB app so from EWB
side the DBISAM/EDB/MySQL/MS-SQL etc all look alike.  in fact your EWB
app that works with DBISAM back-end would need no changes to work with
the MySQL back-end.

This does need to be handled by the back-end server though so for MySQL
one would need to a PHP script to provide the dataset handling
functionality.

The JSON spec that web server needs to emit and consume is documented
here :
http://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&topic=DataSet_JSON_Reference.


Tim has started writing PHP sample scripts but has not gotten them
finished yet.  See this thread for details :
http://www.elevatesoft.com/forums?action=view&category=ewb&id=ewb_general&page=1&msg=5963#5963

AFAIK the current state is  :
- EWB Web Server : DBISAM/EDB/ADO is built-in and can be used as is
- windows PHP for EDB  : built-in and can be used as is
- PHP + MySQL (or any scripting/database combination) : will be coming
but meanwhile you can write your own script for dataset handling using
the JSON spec and EWB app would work just fine with it

Raul
Tue, Jul 7 2015 1:03 AMPermanent Link

Frederick Chin

Hi Raul,

Thanks for the information and link.

I'll study it and get it working.

Frederick
Tue, Jul 7 2015 4:00 AMPermanent Link

Matthew Jones

Raul wrote:

> So it will be a a 2 step process :
> 1. run the project in EWB IDE normally (you won't see anything but
> that's just embedded browser issue) 2. open the chrome and use
> "http://localhost/<projectname.html>"

I just want to pick up on this - you don't need to run it in the IDE,
only compile it. Then you switch to your browser and refresh to get the
new version.

--

Matthew Jones
Image