Chrome can’t find jquery.min.map

Recently, one of our users reported getting this message when running in Chrome:

mailmaperror

It’s not one you need to worry about. It only happens when you are running with the Chrome Debugger open. It’s complaining that it does not have the extra files it needs to display the jQuery source code properly. Since it is very unlikely that you will have any need to look at that code, it doesn’t matter.

If it really bugs you, you can go into the Debugger Preferences and turn off the warning. The setting to turn off is “Enable Source Maps”.

There is more info here.

A handy little Chrome trick: FullScreen

Google recently added a little trick to Chrome, allowing apps to become full screen. It works on both the Desktop and Android devices. You’ll need to be running Chrome Version 32 or newer.

To use it, add a button to your app with the following code:

Function btnChrome_onclick()
  document.documentElement.webkitRequestFullScreen()
End Function


After going to full screen, a message is displayed telling how to go back: swipe down on an Android device or hit escape on the desktop.
As of Chrome 32, this is no longer needed.

Here’s how it looks on an Android device.

If you want to execute some code after the resize (perhaps to move controls to take advantage of the larger screen, do the following:

Function window_onresize()
  Print "resize"
  '… do any housekeeping
End Function

If you want hide the button if you are not using Chrome, add this code to your global code:

  If Not window.chrome Then btnChrome.hide()

A few gotchas:

  • This won’t work with the Android Browser or iOS.
  • This won’t work with PhoneGap, as long as it still uses the Android Browser.
  • It seems to have to be done from a button: just putting it in Global Code does not work.

Let us know if you find out anything more about this trick!

AppStudio 3.1.7 released!

We have just uploaded 3.1.7 to the servers. It has enhancements as well as fixes.

You can download the new version from Check for Updates under the Help menu.

3.1.7

  1. Status Bar: Show left, top coordinates of selected control.
  2. Code Window: jqmButton: .icon, iconPos autocomplete removed.
  3. Translation: Swedish translation complete (Thanks, Roger Lindfors!)
  4. Translator: If InStr(misc.runTotal, “=”) <> 0 Then Exit Function fixed.
  5. Translator: If _logbookkey is null Or _logbookkey = “” Then fixed.
  6. Translator: t += “src=’://chart” & b & “‘ ‘” & CStr(b) & “‘ h='” & CStr(c) & “‘>” fixed.

The complete list of changes is here.

AppStudio 3.1.6 released!

We have just uploaded 3.1.6 to the servers. It has enhancements as well as fixes.

You can download the new version from Check for Updates under the Help menu.

3.1.6

  1. About Screen: Add Copy to Clipboard button on View Log screen.
  2. About Screen: Make View Log screen resizeable.
  3. Code Window: Case of Top, Left, Width and Height fixed in autocomplete.
  4. Code Window: View JavaScript screen is now resizable.
  5. Code Window: Problem with code folding and comments fixed.
  6. Controls: Do not redefine binding if it exists already.
  7. Controls: FlipToggle (jQM) can now use percentages.
  8. Controls: Line control default properties now set.
  9. Controls: Mini mode improved for CheckBox and RadioButton.
  10. Controls: NSB.MsgBox now uses FastClick.
  11. Controls: src property is now a string input, not a file picker.
  12. Controls: jqW contorls now have extended bounds properties.
  13. Controls: ‘mini’ removed from autocomplete on several controls.
  14. Controls: ontouchmove event added to Project Properties.
  15. Controls: Fix problem with design disabled controls not enabling at runtime.
  16. Design Screen: wait cursor is shown when refreshing.
  17. IDE: .html files no longer created in Samples folder.
  18. IDE: Ctrl A now selects all.
  19. IDE: Deploy location now shows on the Status Bar.
  20. IDE: If firstform is not set properly, the first form is chosen instead.
  21. Installer: On Windows, samples are now saved in Program Files.
  22. Installer: Samples work when installed by Admin, but used by another user.
  23. Project Explorer: The framework is now shown next to the control.
  24. Project Properties: New phoneGapLanguages properties sets PhoneGap languages.
  25. Runtime: Erase can now have up to 7 args.
  26. Runtime: Erase now sets array elements to 0 or “”.
  27. Runtime: FormatNumber no longer does -,500,000.00
  28. Runtime: For a = b To c Step d now works when d<0.
  29. Runtime: Possible endless loop on For/Next fixed.
  30. Samples: Add Email button to Camera sample.
  31. Samples: PhoneGapAPI updated to use latest PhoneGap specs.
  32. ToolBox: ‘mini’ is no longer on autocomplete list.
  33. Translator: a[i] Mod 256 fixed.
  34. Translator: If a then If b The c=1 Else d=1 fixed.
  35. Translator: If a=1 And b=2 And (c(1)=1 Or c(2)=1) Then… fixed.
  36. Translator: If Not a And b Then… fixed.
  37. Translator: If t>3 the MsgBox “ol”:a=1 fixed.
  38. Translator: a=”$$$$$+$$$$$+” fixed.

The complete list of changes is here.

AppStudio 3.1.5 Released!

We have just uploaded 3.1.5 to the servers. It has enhancements as well as fixes.

You can download the new version from Check for Updates under the Help menu.

3.1.5

  1. Controls: jqxCalendar now responded to clicks as well (including FastClick)
  2. Controls: jqxGrid should now work with percentage widths.
  3. IDE: Updated projects had wrong default value for FullScreen.
  4. Installer: Certificate updated for another year.
  5. Runtime: Changes to dialogs to be compatible with more browsers.
  6. Runtime: Fix problem in TimeValue() function.
  7. Runtime: Tweaks to improve operation on IE10. Still not officially supported.
  8. Samples: Facebook sample updated to use full URL.
  9. Samples: Background sample tweaked to work with jQuery Mobile.
  10. Samples: New Compass sample.
  11. Translator: Fix problem with underscores in function names.

The complete list of changes is here.

AppStudio 3.1.4 released!

We have just uploaded 3.1.4 to the servers. It has enhancements as well as fixes.

You can download the new version from Check for Updates under the Help menu.

3.1.4

  1. Controls: List.getItem() no longer returns garbage characters at end.
  2. Controls: TextArea resizes properly at runtime.
  3. Deploy: New nsbapp.com server much faster and more stable.
  4. Deploy: Option to run app from test server after Deploy.
  5. Deploy: Old files cleared on each Deploy.
  6. Deploy: Running in nsbapp.com sped up by copying less files.
  7. Design Screen: Choosing control in Project Explorer now selects it in Design Screen.
  8. Properties: Reverted color picker to a text field, so ‘transparent’ can be entered.
  9. Runtime: Replace(“ABCD”, “|” , ” “) fixed.
  10. Samples: New SAP sample.
  11. Samples: PhoneGapAPI now includes latest Barcode implementation.
  12. Translator: A ^ 1.5 + A ^ 1.5 fixed.
  13. Translator: ‘If a = 1 Then a = {from: 1}’ fixed.
  14. Translator: “Function General_FormatDate()” fixed.

The complete list of changes is here.

Ultimate list of Libraries for AppStudio

JSDB is a collection of the best JavaScript libraries on the net: at last count, more than 300 are listed.

You should be able to use any of them with AppStudio. After all, if you can do something in JavaScript, you can do it in AppStudio.

The libraries can be used from JavaScript or BASIC: the functions they add to your app become part of your program.

Read more about using JavaScript libraries in Using JavaScript in your App.

Visit the JavaScript Library database here: http://www.jsdb.io.

AppStudio 3.1.3 released!

We have just uploaded 3.1.3 to the servers. It has enhancements as well as fixes.

You can download the new version from Check for Updates under the Help menu.

3.1.3

  1. Controls: New Line control.
  2. Controls: Audio and Video now use File picker instead of image picker.
  3. Controls: Grid now defaults to scrollable, auto width.
  4. Controls: Grid now has right and bottom properties.
  5. Controls: Image control percent sizing fixed.
  6. Controls: jQM TextArea background color can now be set.
  7. Controls: Make fullscreen=true the default for forms.
  8. Controls: NSB.MsgBox – Suppress heading line if blank on Android.
  9. Controls: jqxCalender: error message fixed.
  10. Find: Do not search for empty find string.
  11. IDE: Check for Updates improved.
  12. IDE: Do not validate again once serial number is OK.
  13. IDE: Error on shutdown fixed.
  14. IDE: image paths are now stored using forward slashes only.
  15. Properties: File picker works like image picker.
  16. Properties: Image thumbnails update properly.
  17. Runtime: Mod function fixed.
  18. Runtime: DatePart Week number calculation fixed.
  19. Samples: New DragDrop sample.
  20. Samples: New PopUpForm sample.
  21. Samples: New Line sample.
  22. Samples: New GridWithButtons sample for jqxGrid.

The complete list of changes is here.

AppStudio 3.1.2 Released!

We have just uploaded 3.1.2 to the servers. It has enhancements as well as fixes.

The download URL is the same as for 3.1.

3.1.2

  1. Controls: New jqWidgets CheckBox control. (Thanks, Helen!)
  2. Controls: Audio and Video can accept URLs in the src field again.
  3. Controls: jQM List can now accept a % width.
  4. Controls: jQM List now has a new ReadOnly property.
  5. Controls: jqWidgets controls can now accept % bounds.
  6. Project Properties: Values for default images are now blank.
  7. Runtime: AppTitle now returns the title of the app.
  8. Runtime: Error on Android 2.2 fixed.
  9. Samples: New jqWidgets CheckBox sample.
  10. Translator: Fix ‘Not A and B’
  11. Controls: AppStudio updated to work with jqWidgets 2.8.3.
  12. IDE: Images in Project Properties now use Image Picker.
  13. IDE: Bug in form/code import fixed.
  14. Deploy: Problem exporting SQLite files fixed.
  15. Docs: most samples now have JavaScript as well as BASIC.

The complete list of changes is here.

A couple of debugging tricks…

Examine variables in a running app

You can examine the value of global variables in a running app on any device, without needing to have a debugger hooked up.

Simply enter this into the URL bar:

javascript:alert(a)

This will display the value of a in a message box.

You can also use this to call functions:

javascript:alert(window.innerHeight)

You can enter any valid JavaScript code and it will execute in the current context.

Wow.

View JavaScript errors on Android devices

It’s not easy to see JavaScript errors on Android devices, especially older ones. To do this, you will need to have the Android SDK installed.

Start the simulator or connect your device in debug mode.

Open up a command window and type

adb logcat

You will see a stream of output with all the messages from the device or simulator. The error message will look something like this:


D/dalvikvm(  284): GC_FOR_MALLOC freed 34 objects / 2096 bytes in 212ms
E/browser (  284): Console: TypeError: defineProperty is not supported on DOM Ob
jects http://www.nsbasic.com/i/Order/nsb/hfunc.js:1926