Diese Seite mit anderen teilen ...

Informationen zum Thema:
Forum:
WinDev Forum
Beiträge im Thema:
1
Erster Beitrag:
vor 6 Jahren
Beteiligte Autoren:
Paul Murray

WM17 - Row Management Error Between Emulator and DroidX

Startbeitrag von Paul Murray am 27.05.2012 01:40

Greetings All,

I have done extensive testing today with my WM17 for Android App.

The emulator works perfectly (as usual).

The actual DroidX app works almost perfectly but ignores the last row (somehow) in the following routine...

I populate a looper from a web service and display the original BOOKED state in a control as ATT_Hidden_BoardedYesNo_2 in the form of either 'T' or 'F'.

The user can click on a button in the looper to either check or uncheck their boarding status.

I then compare the orginal status from the web service against the latest user input as follows:

IF boarded_check boarded THEN call the web service and update the database.

This works great in the emulator.

And it almost works great on the Droid X.

If I click on X number of rows, the application always updates the database with the data for X - 1 rows. And it is always the last row that does not get updated.

if there is only one row in the looper, then the update is ignored.

So I can click on my checkbox to update 10 rows and only the first 9 will get updated.
The last row is always ignored.

Here is the code. I am thinking that something value of EACH has to be changed to '+1' to capture the last row. Right now I am thinking that it is a problem with the For/Each statement but I don't necessarily have a problem with the last row in the looper. It is just the last row that needs to be updated. So if I have 20 rows in the looper and I check the first 7 as boarded (ignoring the other 13 rows), then only the first 6 rows are updated in my database.

Any pointers would be appreciated here.

Best,

Paul



sBoarded_check_string is string
boarded_check is boolean

FOR EACH ROW OF LOOP_Paxlist

sBoarded_check_string = ATT_Hidden_BoardedYesNo_2
IF sBoarded_check_string = "T" THEN //this was done because creating a hidden checkbox with values as true or false was not hiding and not working. Well it worked fine in the emulator but on on the DroidX
boarded_check = True
ELSE
boarded_check = False
END
boarded = ATT_Boarded
gsFullConfo = ATT_Hidden_FullConfo
gsFname = ATT_Hidden_FName
gsLname = ATT_Hidden_LName

// Info("LName",gsLname)
// Info("Boarded Check",boarded_check)
// Info("Boarded",boarded)

IF boarded_check = boarded THEN
CONTINUE //Nothing has changed so there is no sense in calling the web service
END

IF boarded = True THEN
gsBoardtruefalse = "T"
ATT_Hidden_BoardedYesNo_2 = "T"
ELSE
gsBoardtruefalse = "F"
ATT_Hidden_BoardedYesNo_2 = "T"
END

// Info("boarded",gsBoardtruefalse)

WHEN EXCEPTION IN
gc is update_pax_load_datetime

gc.boarded = gsBoardtruefalse
gc.confo = gsFullConfo
gc.fname = gsFname
gc.lname = gsLname
gc.password = gsPassword
rp1 is update_pax_load_datetimeResponse
rp1 = update_pax_load_datetime(gc)
//We don't really care about getting a result set back and doing anything with it. It works or it doesn't!!
//Info(rp1.get_pax_list_by_partial_confoResult)
DO
Error(ExceptionInfo(errFullDetails))
END

y = XMLOpen(rp1.update_pax_load_datetimeResult,fromString)
IF rp1.update_pax_load_datetimeResult = "" THEN
//do nothing
ELSE
Info("Updated Failed",rp1.update_pax_load_datetimeResult)
END

END

BTN_Update_Boarding..Value = "Status Updated"

ExecuteProcess(BTN_GetPaxList,trtClick)

Antworten:

Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.