Android Question AnotherDatePicker Problem

jai

Active Member
Licensed User
Longtime User
Hi all,

I have a problem with AnotherDatePicker similar to others in this forum . The execution of
B4X:
AnotherDatePicker1.Show
Works perfectly in the debug mode but not in the Release modes. I have tried earlier suggestions of using the CallSubDelayed but it has not made any difference – Debug version works but Release doesn’t.

It seems that in the Release versions the program goes into an endless loop in the AnotherDatePicker sub-
B4X:
Public Sub Show
    If waitForAddToActivity Then
        'not ready yey
        CallSubDelayed(Me, "show")
        Return
    End If
    holder.SetVisibleAnimated(500, True)
    DrawDays
    DoEvents
End Sub
The waitForAddToActivity never gets a false value implying that the control is not yet ready/available. The AnotherDatePicker1.Show is called with a button press with CallSubDelayed well after the app has started in a large size program. I have tried DoEvents in addition to CallSubDelayed but no success.

I am using B4A v6.3 and AnotherDatePicker version 2.0

Appreciate any suggestions.
 

jai

Active Member
Licensed User
Longtime User
You don't need to add DoEvents. Can you upload a project that demonstrates this issue?
Hi Erel, It is a large project with over 250 files which may be part of the problem. It will take long to extract few statements that by themselves would work fine (as does your example of ADP v2). But in the current full context the ADP.Show doesn’t work as stated earlier.

The project has proprietary information and cannot be put in the forum. If you would be so kind to look at it I can send you the zip file privately to review. If so please let me know where to send. Otherwise, if you can give me some ideas to try that would also help. Thank you.
 
Upvote 0

DonManfred

Expert
Licensed User
Longtime User
Then create a sample project which shows the problem. Otherwise we cant help
 
Upvote 0

jai

Active Member
Licensed User
Longtime User
This problem has now been resolved. For the benefit of those who might run into a similar situation the culprit was not easily detectable. I had to go through the process of elimination of one statement at a time to find and fix the problem.

The no-show of AnotherDatePicker in the Release modes was being caused by a
B4X:
DoEvents
in Activity_Create. Starngely the
B4X:
AnotherDatePicker1.Show
Was not even present in the Activity_Create sub. It was part of another sub unrelated to Activity_Create.

This DoEvents was initially placed there after loading a background image (SetBackgroundImage) to serve as a substitute for a launch image at the app startup. Its purpose was to load the image immediately upon app invocation while about 250 files were loaded in the background.

For some reason I don’t yet know this DoEvents was keeping the date picker to show up in the Release version. Upon removing this statement the date picker started to behave normally as expected.
 
Upvote 0

Dadaista

Active Member
Licensed User
Longtime User
Hi
ADP added from designer. In my app ADP works in debug mode but in release mode does not work.

The thin line disappears in release mode and The label_click that I use, shows nothing.

What can I do??

debug mode
debug mode.jpg

release mode

release mode.jpg


The log says

B4X:
Registo conectado a:  Sunstech TAB109QCBT
--------- beginning of main
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
Class not found: b4a.example.anotherdatepicker, trying: com.dbsaiz.caja.venta.free.anotherdatepicker
Class not found: b4a.example.anotherdatepicker, trying: com.dbsaiz.caja.venta.free.anotherdatepicker
--------- beginning of system
Object context is paused. Ignoring CallSubDelayed: AfterLoadLayout
Object context is paused. Ignoring CallSubDelayed: AfterLoadLayout
** Activity (main) Resume **


This is the Show of ADP
B4X:
Public Sub Show
   If waitForAddToActivity Then
     'not ready yey
     CallSubDelayed(Me, "show")
     Log("Return en el show del datepicker")
     Return
   End If
   Log ("lo saca")
   holder.SetVisibleAnimated(500, True)
   DrawDays
End Sub

When I click the label that shows the ADP, the log says
B4X:
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker
Return en el show del datepicker

It seems endless loop!!! is not it?

In fact.. I've had to cut the post... more than 50000 characters!!
 
Last edited:
Upvote 0

Dadaista

Active Member
Licensed User
Longtime User
Solved it!!

this is my Activity_create

B4X:
Sub Activity_Create(FirstTime As Boolean)
   sf.Initialize
   DateTime.DateFormat = "dd-MM-yyyy"
   
   If File.ExternalWritable = False Then
  Msgbox("Cannot write on storage card.", "****************")
  Return
  End If
   
   DeviceScreenSize = Ceil(GetDeviceLayoutValues.ApproximateScreenSize)

   If DeviceScreenSize <= 8 And DeviceScreenSize > 6 Then
     Activity.LoadLayout("main.bal")
     gTipoPantalla = False
   Else If DeviceScreenSize > 9 Then
     Activity.LoadLayout("10p.bal")
     gTipoPantalla = True
   Else
     Activity.Finish
   End If
   
   clv4.Initialize(Me, "clv4")
   ListPad.AddView (clv4.AsView, 0, 0, 100%x, 85%y)
'   
   'ADMOB
   AdView1.Initialize("ad", "ca-app-pub-****************/$$$$$$$$$$")
   AdView2.Initialize("ad2", "ca-app-pub-****************/$$$$$$$$$$")'
   AdView3.Initialize("ad3", "ca-app-pub-****************/$$$$$$$$$$")
   AdView4.Initialize("ad4", "ca-app-pub-****************/$$$$$$$$$$")
   
   If gTipoPantalla = True Then
     PnlPubli.AddView (AdView1,0dip,23dip,320dip,50dip)
     PnlPubliAux.AddView (AdView2,0dip,4dip,320dip ,50dip)
     PnlPubliConfig.AddView (AdView3,0dip,23dip,320dip,50dip)
     PnlPubliStats.AddView (AdView4,0dip,23dip,320dip,50dip)
   Else
     PnlPubli.AddView (AdView1,0dip,0dip,PnlPubli.Width ,PnlPubli.Height)
     PnlPubliAux.AddView (AdView2,0dip,4dip,320dip ,50dip)
   End If
   
   AdView1.LoadAd
   AdView2.LoadAd
   AdView3.LoadAd
   AdView4.LoadAd
   'ADMOB
   CallSub("",USBCheck(False))

with this in Project Attributes (Release Mode)
B4X:
#BridgeLogger: True

The problem was the last line of Activity_create
B4X:
CallSub("",USBCheck(False))

I move that line to Activity_Resume and ADP now works

I must say.. in this moment no USB device Attached. It is possible that with a device attached, ADP would works in release mode. I do not know!!

But... and in release mode, the log continues saying...
B4X:
Registo conectado a:  Sunstech TAB109QCBT
--------- beginning of main
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
Class not found: b4a.example.anotherdatepicker, trying: com.dbsaiz.caja.venta.free.anotherdatepicker
Class not found: b4a.example.anotherdatepicker, trying: com.dbsaiz.caja.venta.free.anotherdatepicker
--------- beginning of system

But... but... now works


Regards!!
 
Upvote 0
Top