Smart Mobile Studio
  • News
  • Forums
  • Download
  • Store
  • Showcases
    • Featured demos
    • The Smart Contest 2013, Round 1 – Graphics
  • Documentation
    • Get the book
    • System requirements
    • Prerequisites
    • Getting started
      • Introduction
      • Application architecture
      • The application object
      • Forms and navigation
      • Message dialogs
      • Themes and styles
    • Project types
      • Visual project
      • Game project
      • Console project
    • Layout manager
    • Networking
      • TW3HttpRequest
      • TW3JSONP
      • Loading files
  • About

Author Archives: gabr42

Smart Mobile Studio 2.2 Hotfix 2

Posted on 18.04.2016 by gabr42 Posted in Announcements, Developers log, News

As it turned out, the recent Smart Mobile Studio 2.2 Hotfix 1 introduced a big problem. Because of a regression bug in the compiler, generated programs are sometimes incorrect and don’t execute. To fix that are pushing out Hotfix 2 which contains all the updates of Hotfix 1 except the DWScript compiler which was reverted back to version 2.2.

To update, you can rerun the SmartUpdate utility [more information] or download the installer from the following locations:

  • Smart Mobile Studio 2.2 installer
  • Free command-line compiler

Changes

  • Reverted compiler to version 2.2 to fix code generation problems.
announcement Hotfix release

Smart Mobile Studio 2.2 Hotfix 1

Posted on 15.04.2016 by gabr42 Posted in Announcements, Developers log, News

This is just a small update to Smart Mobile Studio 2.2. We have fixed the GUI problems (black rectangles under icons), updated DWScript to the latest version, and made small change to the Find in Files function.

To update, you can rerun the SmartUpdate utility [more information] or download the installer from the following locations:

  • Smart Mobile Studio 2.2 installer
  • Free command-line compiler

Changes

  • Fixed icon display problem (black background).
  • Updated compiler
    • Fixed critical issue with smart linking and lambda functions
    • Fixed missing dot in FormatDateTime.
    • Fixed range checking for dynamic arrays.
    • Improved compatibility with Google’s closure compiler.
  • Improved ‘Find in Files’ – current selection is used for search text.

Smart Mobile Studio 2.2 Release Candidate 2

Posted on 30.03.2016 by gabr42 Posted in Announcements, Developers log, News

While the SmartMS 2.2 RC was generally well accepted, users found few critical bugs that should not make it into a released product. They are now fixed and we proudly present 2.2 Release Candidate 2!

As before, you have two installation options. A portable version can be installed with the SmartUpdate program from the Beta channel. Or you can download and run the installer – either for the full IDE or for the free command line compiler.

Changes since Release Candidate 1

  • RTL fixes regarding form activation and destruction.
  • Fixed: Wrong Form.Name when creating a new Form with dots in the name.
  • Fixed incorrect FHandle type in TW3TagObj.
  • Implemented TW3Dataset.Locate.
  • Fixed TW3Dataset.EOF.
  • Fixed TW3DataSet.Delete.
  • Fixed a bug in commandline compiler where wrong file could be used for compilation.
Stable release Version 2.2

Using DataSnap Importer to Work with Datasets

Posted on 10.01.2015 by gabr42 Posted in Documentation, News

Last time we looked at how Smart can be used to write a client for a REST server, written in Delphi. This time we’ll see how we could use this approach to work with datasets.

In theory, it should be possible to write a client which works seamlessly with datasets, just like Delphi does when you use a “normal” DataSnap server. In practice, however, even Delphi’s own clients don’t support this with REST servers in versions up to XE6. Only in XE7 a better support for sending FireDAC datasets over REST was added, but this is not yet supported in Smart. So for the time being you will have to do some manual work and write some dataset-wrapping code on the server (and also on the client).

Continue reading→

Using DataSnap Connector Importer

Posted on 20.12.2014 by gabr42 Posted in Documentation, News

This tutorial shows how to use DataSnap connector in the Smart Mobile Studio Enterprise.

Server

Firstly, create a DataSnap server. In this example we are using Delphi XE7 but any older version will be OK as long as it can create a REST server.

Start by creating new project. Select DataSnap REST Application from the DataSnap Server branch. It is important to create REST server as Smart doesn’t work with binary data format used in MIDAS-based DataSnap server.

Create DataSnap REST server

Continue reading→

Writing REST Clients with Smart 2.1.2

Posted on 14.12.2014 by gabr42 Posted in Documentation, News

Besides a bunch of fixes, Smart 2.1.2 introduced a new unit, SmartCL.Inet.REST. This unit greatly simplifies writing REST clients in Smart. A simplest way to introduce it is with an example.

Introduction

Let’s say we have a REST server listening at http://someserver/hbbtv/streamevents. It supports one request – PUT – and three parameters – applicationid, eventid, and eventdata. To send a request, one would just open a HTTP connection (TW3HttpRequest would do that for you in Smart) and send something like http://someserver/hbbtv/streamevents/applicationid=1&eventid=233&eventdata=Test (or http://someserver/hbbtv/streamevents/1/233/Test if your REST server is not completely braindead). Still, you would have to set up the TW3HttpRequest object, concatenate the URL and parse the response. And whenever you write some code, there’s an opportunity to introduce a bug so it’s best if you code as little as possible.

The REST client for the example above can be written in one statement.

REST['someserver', '/hbbtv/streamevents']
  .Get([1, 233, 'Test'])
  .OnDone(lambda (http) Log('Event sent'); end)
  .OnError(LogHttpError);

Continue reading→

New ways to run a project

Posted on 12.10.2013 by gabr42 Posted in Developers log, News

While we are very busy working on the next Smart release (2.0, scheduled for November), some parts of the new version are already completed. As we can’t release an alpha or beta version now (it’s just not there yet), I decided to write few short posts as new features reach maturity. The first part of Smart I’d like to talk about is the redesigned ‘Run’ experience.

In the Smart v1, results of Run depended on few options that were partly set in the Preferences and partly in the Options. The result was a bit confusing so we decided to clean the interface and improve the experience. In the v2 release, the only option to be set in the Preferences is the server port. Everything else is configured in the project Options.

New Run as optionsFollowing execution targets are supported: internal browser (Chromium, built into Smart), default browser, custom browser (you can specify the command line). The latter two can be served from the file system (if “Use built-in server to run application” is not checked) or from the internal server. If the internal browser or server are used, the browser/server window is displayed.

Internal browser

The Browser tab displays the running program (just as in v1) using the built-in Chromium. The Source code tab displays the compiled program. The Server tab displays the QR code which you can use to quickly open the program in a mobile device.

Quick access code

You can also click the “Open in browser” button to open the program in the system default browser and the photo icon on the right to create a snapshot of the internal browser window.

The last trick we have added is that you can set up your program to be automatically reloaded when it is recompiled. Just go to the project Options and check “Automatically refresh in browser”.

Autorefresh optionIf you now run the program (in any browser type), change the program and recompile, it will be automatically reloaded in the browser.

Pages

  • About
  • Feature Matrix
  • Forums
  • News
  • Release History
  • Download
  • Showcases
    • The Smart Contest 2013, Round 1 – Graphics
  • Store
  • Documentation
    • Creating your own controls
    • Debugging, exceptions and error handling
    • Differences between Delphi and Smart
    • Get the book
    • Getting started
      • Introduction
      • Local storage, session storage and global storage
      • Application architecture
      • The application object
      • Forms and navigation
      • Message dialogs
      • pmSmart Box Model
      • Themes and styles
    • Layout manager
    • Networking
      • Loading files
      • TW3HttpRequest
      • TW3JSONP
    • Prerequisites
    • Real data, talking to sqLite
    • System requirements
    • Project types
      • Visual project
      • Game project
      • Console project

Archives

  • December 2019
  • December 2018
  • November 2018
  • July 2018
  • June 2018
  • February 2018
  • September 2017
  • April 2017
  • November 2016
  • October 2016
  • September 2016
  • April 2016
  • March 2016
  • January 2016
  • October 2015
  • September 2015
  • July 2015
  • April 2015
  • January 2015
  • December 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • November 2011
  • October 2011
  • September 2011

Categories

  • Announcements (25)
  • Developers log (119)
  • Documentation (26)
  • News (104)
  • News and articles (16)

WordPress

  • Register
  • Log in
  • WordPress

Subscribe

  • Entries (RSS)
  • Comments (RSS)
© Optimale Systemer AS