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.
11026
Web Server - Ask For Help / Re: Lookup
« on: August 21, 2007, 07:48:09 AM »
no, I've not seen this before. You need to send me an example.
cheers
Bruce
cheers
Bruce
11027
Web Server - Ask For Help / Re: Two Inserts
« on: August 21, 2007, 07:38:57 AM »
Hi Mark,
If a file is set to AutoNumber, and prime auto-inc is checked. (Or if there is a child browse on the form). Then the Insert is done as the form opens, and the action is set to "Change".
Thus Cancel Form is called in the situation you describe, precisely because the Insert action is now Change.
However, if the action is still "Insert" then this routine is not called. (In 4.28 or earlier.)
I have added code to 4.29 so that the CancelForm is also called on Insert.
Cheers
Bruce
If a file is set to AutoNumber, and prime auto-inc is checked. (Or if there is a child browse on the form). Then the Insert is done as the form opens, and the action is set to "Change".
Thus Cancel Form is called in the situation you describe, precisely because the Insert action is now Change.
However, if the action is still "Insert" then this routine is not called. (In 4.28 or earlier.)
I have added code to 4.29 so that the CancelForm is also called on Insert.
Cheers
Bruce
11028
The Rest - Ask For Help / Re: need help TCP/IP conversation
« on: August 20, 2007, 11:02:42 PM »
Hi Thomas,
The biggest problem I always have when talking to servers not under my control, are the things they don't tell you in the docs.
The most common one is that "commands should be terminated with <13,10>." For example in the old modem days the ATZ command was always the rest-modem command. But actually it was ATZ<13,10>.
A good way to progress quickly is to get a working client if you can. Then "snoop" on what's going on (using something like ethereal) and you can usually quickly spot the difference.
the only think you'd need to add to your psudo code below is the setting of bindatalen.
You're not gonna get an ACK as long as you remain in the loop, because you need to get an event to receive the Ack.
The packets you send will arrive in-order, so you don't need to worry about that.
Cheers
Bruce
The biggest problem I always have when talking to servers not under my control, are the things they don't tell you in the docs.
The most common one is that "commands should be terminated with <13,10>." For example in the old modem days the ATZ command was always the rest-modem command. But actually it was ATZ<13,10>.
A good way to progress quickly is to get a working client if you can. Then "snoop" on what's going on (using something like ethereal) and you can usually quickly spot the difference.
the only think you'd need to add to your psudo code below is the setting of bindatalen.
You're not gonna get an ACK as long as you remain in the loop, because you need to get an event to receive the Ack.
The packets you send will arrive in-order, so you don't need to worry about that.
Cheers
Bruce
11029
Web Server - Ask For Help / Re: Form Not Always Working
« on: August 20, 2007, 10:56:32 PM »
Hi Stan,
my guess would be that their session timed out 'cause they took a long time entering their credit card details.
You can extend the session period on the WebServer procedure, advanced tab.
Cheers
Bruce
my guess would be that their session timed out 'cause they took a long time entering their credit card details.
You can extend the session period on the WebServer procedure, advanced tab.
Cheers
Bruce
11030
Web Server - Ask For Help / Re: Save form automatically if assigned value is correct
« on: August 20, 2007, 10:41:03 PM »
Hi Casey,
It's probably possible to do this, using a little bit of javascript, but there's no simple way to do it at the moment.
It's possible that in a future release you'll be able to send "code" back from the server-side code which would make it possible.
Cheers
Bruce
It's probably possible to do this, using a little bit of javascript, but there's no simple way to do it at the moment.
It's possible that in a future release you'll be able to send "code" back from the server-side code which would make it possible.
Cheers
Bruce
11031
Web Server - Ask For Help / Re: Lookup
« on: August 20, 2007, 10:38:02 PM »
Hi Rene,
what do you mean by a "lookup browse"?
A normal browse called as a lookup,
or a procedure based on a template other than NetWebBrowse?
Cheers
Bruce
what do you mean by a "lookup browse"?
A normal browse called as a lookup,
or a procedure based on a template other than NetWebBrowse?
Cheers
Bruce
11032
The Rest - Ask For Help / Re: need help TCP/IP conversation
« on: August 20, 2007, 06:51:02 AM »
Hi Thomas,
It's important to realize that all TCP/IP comms is asynchronous. And I strongly recommend using the Async open as well.
This means you need a "Window" procedure, because you need Events.
You can of course hide the window ( window{prop:hide} = 1) if you don't want the user to see it.
Once the port is Open, you are free to send as much as you like inside a loop. You cannot however do error handling after a Send. (because things are happening asynchronously). If there is an error then the ErrorTrap method is called.
However if you need to wait for an Ack before sending the next bit then sending in a loop is not for you. In that case you need to send, and then do nothing. When the ack arrives the .Process method is called. You can check the ack, and send the next packet (and so on.)
The good news is that once you've got the basic structure sorted out, the rest should be pretty easy. Incoming packets can be handled in .Process, Errors can be handled in ErrorTrap.
The NetDemo example is a good place to start. This lets you open a server, and a client, window so you can play around in plain text.
Cheers
Bruce
It's important to realize that all TCP/IP comms is asynchronous. And I strongly recommend using the Async open as well.
This means you need a "Window" procedure, because you need Events.
You can of course hide the window ( window{prop:hide} = 1) if you don't want the user to see it.
Once the port is Open, you are free to send as much as you like inside a loop. You cannot however do error handling after a Send. (because things are happening asynchronously). If there is an error then the ErrorTrap method is called.
However if you need to wait for an Ack before sending the next bit then sending in a loop is not for you. In that case you need to send, and then do nothing. When the ack arrives the .Process method is called. You can check the ack, and send the next packet (and so on.)
The good news is that once you've got the basic structure sorted out, the rest should be pretty easy. Incoming packets can be handled in .Process, Errors can be handled in ErrorTrap.
The NetDemo example is a good place to start. This lets you open a server, and a client, window so you can play around in plain text.
Cheers
Bruce
11033
Web Server - Share Knowledge / Calling a Browse with Parameters
« on: August 20, 2007, 05:50:55 AM »
Setting the URL for a browse is pretty trivial. Simply specify the name of the browse function, or the Page Name of the browse function.
By default the browse starts with the sort order you specified (Default Sort Order button) and it starts at the "top" of the table.
However you'll also notice that if you change the sort order, maybe page down a couple times, that it "remembers". For example if you then go off and do somethign else, returning to this browse a little later on, it'll be in the same sort order (and same position) that you left it.
This is all well and good, but what if you want to open a browse, using a specific sort order, and jump to a specific position, using just the URL. Well, you can.
The browse pays attention to the following parameters (amongst some others):
ProcedureName_Sort
Locator1ProcedureName
Refresh=sort
or
Refresh=locate
So using these 3 together, let's say our browse is called BrowseCustomers, the field we want to sort on is CUS:Name and we want to start with the customer starting with "Time".
The the URL becomes (in 2 steps)
http://127.0.0.1:88/BrowseCustomers?BrowseCustomers_Sort=+UPPER(Cus:Name)&refresh=sort
then
http://127.0.0.1:88/BrowseCustomers?Locator1BrowseCustomers=Time&refresh=locate
Cheers
Bruce
By default the browse starts with the sort order you specified (Default Sort Order button) and it starts at the "top" of the table.
However you'll also notice that if you change the sort order, maybe page down a couple times, that it "remembers". For example if you then go off and do somethign else, returning to this browse a little later on, it'll be in the same sort order (and same position) that you left it.
This is all well and good, but what if you want to open a browse, using a specific sort order, and jump to a specific position, using just the URL. Well, you can.
The browse pays attention to the following parameters (amongst some others):
ProcedureName_Sort
Locator1ProcedureName
Refresh=sort
or
Refresh=locate
So using these 3 together, let's say our browse is called BrowseCustomers, the field we want to sort on is CUS:Name and we want to start with the customer starting with "Time".
The the URL becomes (in 2 steps)
http://127.0.0.1:88/BrowseCustomers?BrowseCustomers_Sort=+UPPER(Cus:Name)&refresh=sort
then
http://127.0.0.1:88/BrowseCustomers?Locator1BrowseCustomers=Time&refresh=locate
Cheers
Bruce
11034
Web Server - Ask For Help / Re: NetWebBrowse Template Settings Docs
« on: August 20, 2007, 01:00:50 AM »
Hi Drew,
They're all styles set in the all.css (also netweb.css) files.
The defaults there are just the styles in the all file, and they're optional so you can override them with your own styles.
See this thread:
http://www.nettalkcentral.com/index.php?option=com_smf&Itemid=36&topic=116.0
Cheers
Bruce
They're all styles set in the all.css (also netweb.css) files.
The defaults there are just the styles in the all file, and they're optional so you can override them with your own styles.
See this thread:
http://www.nettalkcentral.com/index.php?option=com_smf&Itemid=36&topic=116.0
Cheers
Bruce
11035
Web Server - Ask For Help / Re: Drop Lists in IE vs FF
« on: August 20, 2007, 12:12:10 AM »
I've tested using IE7, example 33, and 4.29, and it seems ok. So maybe try with 4.29 as soon as it's built. I think 4.28 is probably also ok, because I haven't explicitly changed anything with drop-lists in 4.29.
cheers
Bruce
cheers
Bruce
11036
Web Server - Ask For Help / Re: Using Loop until Access: on a form
« on: August 19, 2007, 11:32:09 PM »
Hi Kevin,
You gotta lay off those beers on the weekend
From my note
>> I suspect the problem in this case is the missing
>> Access:POCOST.UseFile() before the call to SET.
This is consistent with the FETCH working, because the Fetch does a UseFile internally. The Next also does on internally but it comes AFTER the SET, so the SET is essentially ignored, so the NEXT fails.
Cheers
Bruce
You gotta lay off those beers on the weekend

From my note
>> I suspect the problem in this case is the missing
>> Access:POCOST.UseFile() before the call to SET.
This is consistent with the FETCH working, because the Fetch does a UseFile internally. The Next also does on internally but it comes AFTER the SET, so the SET is essentially ignored, so the NEXT fails.
Cheers
Bruce
11037
Web Server - Ask For Help / Re: validate login from data in a file
« on: August 19, 2007, 05:38:01 AM »
Hi Drew,
After calling
Access:TTuser.Open()
you must call
Access:TTUser.UseFile()
Also don't forget to call
Access:TTUSER.Close()
at the end.
Cheers
Bruce
After calling
Access:TTuser.Open()
you must call
Access:TTUser.UseFile()
Also don't forget to call
Access:TTUSER.Close()
at the end.
Cheers
Bruce
11038
Web Server - Ask For Help / Re: Bold Comments
« on: August 19, 2007, 05:36:30 AM »
Hi Stan,
Editing the shipping style files is not the recommended approach.
See this thread for details on creating, and using, your own style files.
http://www.nettalkcentral.com/index.php?option=com_smf&Itemid=36&topic=116.0
Cheers
Bruce
Editing the shipping style files is not the recommended approach.
See this thread for details on creating, and using, your own style files.
http://www.nettalkcentral.com/index.php?option=com_smf&Itemid=36&topic=116.0
Cheers
Bruce
11039
Web Server - Ask For Help / Re: Using Loop until Access: on a form
« on: August 19, 2007, 05:34:24 AM »
Hi Kevin,
You should not assume that tables have been opened for you.
I suspect the problem in this case is the missing
Access:POCOST.UseFile() before the call to SET.
Event better would be an explicit
Acess:POCOST.Open() and Access:POCOST.Close() around the code.
Cheers
Bruce
You should not assume that tables have been opened for you.
I suspect the problem in this case is the missing
Access:POCOST.UseFile() before the call to SET.
Event better would be an explicit
Acess:POCOST.Open() and Access:POCOST.Close() around the code.
Cheers
Bruce
11040
Web Server - Share Knowledge / Popup messages when form validation fails.
« on: August 17, 2007, 12:23:26 AM »
In Version 4.29 I've simplified the method for displaying popup messages on a Form.
For an example, see example number 3. You will see this has resulted in a simplification of all the examples that do logins.
How it works
set a local variable (loc:alert) when you set loc:invalid.
The contents of loc:alert will be displayed as a popup message when the form is re-loaded.
It will also be displayed as a message on the form, just below the sub-header of the form. The CSS Class of this message is set on the CSS Classes tab (Alert:).
If you wish to suppress the popup, and display only the message, the tick off the option on the Advanced tab ("Popup Alert Message")
Advanced:
This feature works on the existance of a Value called ALERT. So if you would like to call a form, and include a popup message when the form opens, then you can append the parameter to the URL. For example:
'MySurveyForm?Alert=You must be over 18 to take this survey'
Considerations for those upgrading from 4.28 or earlier
If you have used a technique based on the login examples (In other words a combination of the XHTML tab, and the DisplayLoginMessage, and PopupLoginMessage procedures) then you might want to revise it to use this new (easier) approach.
Cheers
Bruce
For an example, see example number 3. You will see this has resulted in a simplification of all the examples that do logins.
How it works
set a local variable (loc:alert) when you set loc:invalid.
The contents of loc:alert will be displayed as a popup message when the form is re-loaded.
It will also be displayed as a message on the form, just below the sub-header of the form. The CSS Class of this message is set on the CSS Classes tab (Alert:).
If you wish to suppress the popup, and display only the message, the tick off the option on the Advanced tab ("Popup Alert Message")
Advanced:
This feature works on the existance of a Value called ALERT. So if you would like to call a form, and include a popup message when the form opens, then you can append the parameter to the URL. For example:
'MySurveyForm?Alert=You must be over 18 to take this survey'
Considerations for those upgrading from 4.28 or earlier
If you have used a technique based on the login examples (In other words a combination of the XHTML tab, and the DisplayLoginMessage, and PopupLoginMessage procedures) then you might want to revise it to use this new (easier) approach.
Cheers
Bruce