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

Smart Mobile Studio 2.0

Posted on 09.12.2013 by Smart Mobile Studio Team Posted in Developers log, News 3 Comments

This is a list of all changes since the last official release (1.1.2).

Compiler

New functionality

  • Added command line compiler smsc.
  • Added support for external variables and external class variables.
  • Scriptable HTML templates and CSS scripts.
  • CSS is compressed during compilation.
  • New ways to include an external resource:
    • {$R ‘resource.js’} or {$R ‘file:resource.js’} will copy the resource to the ‘res’ folder during compilation and link it into the program (‘<script>’ statement will be generated in the HTML code or ‘require’ will be generated for NodeJS code).
    • {$R ‘http://server/path/script.js’} or {$R ‘https://server/path/script.js’} will just link the code to the program without copying anything.
    • You can specify MIME type for the resource by prefixing it to the resource name: {$R ‘text/javascript:http://server/path/file.php’}. If the MIME type is not provided, it will be generated automatically from the extension part of the resource name.
  • Compiled program is stored in a ‘www’ subfolder (previously it was stored in a ‘bin’ subfolder).

Improved functionality

  • Improved codegen for static and static sealed classes.
  • Improved codegen for “new JObject”.

Bugs fixed

  • Fixed various codegen problems related to constant arrays, external classes and nested records.

RTL

New functionality

  • Added support for the Espruino microcontroller.
  • Added wrappers for JavaScript functions prompt() and confirm().
  • Added support for Android Home Screen applications (http://www.delphitools.info/2013/10/16/chrome-web-apps-in-android/).
  • Added TMetronome class (http://www.delphitools.info/2013/10/18/time-stepping-for-games-and-simulations/).
  • New units: w3WebWorker, w3c.WebSpeechAPI, Chrome.Serial, Firefox\Bluetooth.
  • Added methods to the w3colors unit.

Improved functionality

  • Redesigned (faster) GameView.
  • Improved TW3Button with ‘pressed’ state.
  • More IE shims.
  • Improved W3Effects.
  • Improved ColorToWebStr.
  • Improved TW3BufferedImage.SetSize.
  • Improved compiler messages window.

Bugs fixed

  • Fixed System.Diagnostics performance timer fallback (for Safari).
  • Fixed HSL delta methods in w3colors.

IDE

New functionality

  • New visual designer.
  • New component package manager.
  • New project file format, incompatible with older Smart versions. Projects are now stored with a .sproj extension and forms with a .sfm extension.
  • New, XML-based preferences file (preferences.xml) replaced INI-based file (preferences.ini).
  • Added NodeJS and WebWorkers project types.
  • Added tool that creates DataSnap service connector (Delphi Enterprise must be installed on the same computer).
  • Build automation with build scripts.
  • Source maps.
  • Lines/blocks can be moved up/down with Alt+Shift+Up/Down.
  • Internal browser allows taking screenshot of the running application.
  • Configuration option “Save projects before compilation”.
  • A project can be compiled and run even if it was never saved.
  • Implemented Open, Save, Save As, Save Project As.
  • Metadata information can be set for a project.
  • IDE state related to the project (open tabs, top line, bookmarks) is stored in the <projectname>.dsk file and is restored when a project is open.
  • Redesigned template (HTML and CSS) handling.
  • Ctrl+click ‘link’ highlighting.
  • Source code change bar to indicate changes (original, modified, saved).
  • Default project options for each project type can be configured.
  • Added compilation options ‘Automatically refresh in browser’ and ‘Handle uncaught exceptions’.
  • Added support for defining conditional compilation symbols on a project level.
  • Redesigned ‘run’ experience (http://smartmobilestudio.com/2013/10/12/new-ways-to-run-a-project/).

Improved functionality

  • Project title can contain spaces.
  • Custom HTML & CSS code is now separated from general resources
  • Better structure of project options (removed dead settings)
  • Application adapts to low-resolution displays.
  • Improved HTML highlighter, now supports embedded JavaScript, DWS, and CSS.
  • Dotted unit names are supported.
  • Snippets are stored in a separate folder, one snippet per file.
  • Redesigned server/internal browser forms and execution options.
  • Added shortcuts to toggle Compiler Messages and Mini Map visibility.
  • Improved renaming of units.

Bugs fixed

  • Code completion works in .spr files.
  • Highlighter preview (in Preferences) uses currently selected editor font.
  • Configured editor font is correctly displayed when Preview dialog is open.

Removed functionality

  • Compact toolbar.
  • Exit button in the toolbar.
  • Removed ‘Visual components project (New Project Script Demo)’ project type.

Other

New functionality

  • New demos: eSpeak, TransitionEffects, Complex Numbers.
  • Added touch and acceleration support to the “Box2D Demo” project.

Changed

  • Renamed some demos (removed ‘by XXXX’).

Removed

  • Removed demo “Box2D Integration”.
new Smart Mobile Studio Version 2.0

How to use Cordova

Posted on 07.12.2013 by Smart Mobile Studio Team Posted in Developers log, News

CordovaWhile the next version 2.0 is still not entirely ready, here’s a post about how your HTML5 application can be converted to a native application with Cordova (the open source base of PhoneGap). It’s a bit more tricky than with PhoneGap, but completely free of any costs and you don’t need to transmit your application to any server, which might be in times of NSA surveillance always a bit critical.

The tutorial below only covers the basics. If you want to use plugins to enhance the native experience (e.g. to access hardware directly), you need to consult the plugin’s documentation.
Continue reading→

Build Cordova Deployment how-to tutorial

Smart Mobile Studio v2.0 (beta)

Posted on 06.12.2013 by Smart Mobile Studio Team Posted in Developers log, News

Version 2.0 of Smart Mobile Studio will soon be ready for the release.

Over the last few days, we have distributed a private beta to some selected users, and now we would like to make this available for everyone.

We know you have been waiting for this – and so have we!

Download the installer and follow the instructions.

We hope you’ll be as excited about this release as we are 🙂

—
Sincerely,
The Smart Mobile Studio Team

beta release Smart Mobile Studio Version 2.0

New build system

Posted on 25.11.2013 by Smart Mobile Studio Team Posted in Developers log, News

At the moment we’re already in the last stage of testing before the next version 2.0 will be released as beta. We hoped to make this happen in November and it still might, but probably at the very end of this month as there are still about 30+ issues that need to be resolved before a beta release. Most of them are tiny things, but there are still some heavy one, that needs more work than others. As you are developers as well, you probably know what we’re talking about…

In the meantime, this post is meant to give you some ideas of what will be possible with the next version. The main topic is about the new build system. With this it is possible to inject custom code at several stage during compilation.
Continue reading→

Build system Deployment script

Micro-controller programming

Posted on 17.11.2013 by Smart Mobile Studio Team Posted in Developers log, News 5 Comments

While it might sound ridiculous in the first place, the new version 2.0 (planned for November, but slightly delayed) will ship with RTL units to make micro-controller programming possible. So it will be not just possible to develop very high level code with Smart Mobile Studio, but also to address the very low end. Also it’s not just a remote control, but really a programming of the hardware. With this the internet of things is not science fiction anymore, but can be reality under your hands!

EspruinoWith the help of Espruino it’s possible to program a micro-controller with Javascript. In conteast to the classic way of programming, the JavaScript code is only interpreted by the micro-controller. The hardware is accessed and handled internally by the firmware with low-level, high performance code, which can be scipted interactively by the standarized ECMAScript (better known as JavaScript). This event based language is well suited for micro-controllers.


Raspi_Colour_R
So far several different boards are already supported by Espruino, which includes dozens of boards based on the STM32 microcontroller, but also other devices like the Raspberry Pi. A list of working devices is updated constantly on the Espruino’s github site.

Thanks to a very successful kickstarter project (in which we also invested some money), a special board has been developed by the Espruino developer, that is designed perfectly designed for the purpose of internet for things. Compared to other devices it is quite small, highly efficient (low power consumption) and ready for easy wireless access (either with Bluetooth or WiFi). The current price of 34.99$ (around 25€) makes it especially suitable for any device you want to bring to the internet.

ESPRUINOBOARDThe favored Espruino board incude the interfaces I²C, SPI, USART and CAN and features ADC, DAC, PWM and an SD card connector. Furthermore an option for Bluetooth/Wifi and an external clock can be attached. A large prototyp area with the option to host arduino shields makes it ideal for any type of project.

In combination with Smart Mobile Studio, the JavaScript interface is used as intermediate language. Our compiler condenses high level & well structured code to a minified, micro-controller optimized code that might be ugly to read, but fast to execute. In addition to the hardware drivers it will ship with several units that make access to the hardware even easier.

bluetooth_logoThe code runs directly on the hardware and can be deployed either via USB or wirelessly via Bluetooth. Thus remote programming is possible. If you decide to make the code persistent (to survive a restart), just add a ‘save;’ (… to flash) to the end of your code.

With this solution cro-controller, but also reuse and interface existing code easily. By using conditional compilation you can even make the same code compatible for all supported boards (e.g. Espruino board, Raspberry Pi and Sony Smart Watch).

WifiAnd not to mention the fact that you can easily write a remote control for the hardware easily with Smart Mobile Studio.

At the moments we’re still working on the basics, but a lot of things are already possible. For now you can have a look at an older video posted about 3 months ago, but we’re also working on newer videos to give you some more ideas of what you can do on the lower end with our new Smart Mobile Studio 2.0.

Electronics Espruino. JavaScript Internet-of-things Microcontroller

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.

Smart Mobile Studio 1.1.2

Posted on 19.08.2013 by Smart Mobile Studio Team Posted in Announcements

If you are following our DevLog, then you have noticed that v1.1.2 is ready 🙂

The installer is available on the download page (where you’ll always find the latest public version).

Installation

Download the installer and install as normal.

It is not necessary to un-install previous versions or beta versions. However, in some situations, that has proved to be the solution. Eg. if RTL is not properly updated. Make sure you backup the files and folders you want to keep before un-installing.

Before the installation you should check that SmartMS.exe process is not present in the memory. Due to a bug in the 1.1.1 version, closing Smart Mobile Studio sometimes left SmartMS.exe process active in memory and that would prevent the new version from being installed. Just run Task Manager and kill any SmartMS.exe you can find (or reboot the computer, that would also work).

SmartMS

During installation, a backup of existing RTL and Libraries are made. They are simply copied to a folder with date as postfix. You can just delete these folders if you haven’t made any changes these files.

Changes

The focus of this release was mainly on fixing old bugs and making everything run smooth. We did, however, add some useful new features.

As you’ll probably notice looking at the change-list below, we didn’t fix most of the problems with the form designer. The reason for this is that we’re working on a completely new designer which will be included in the 1.2 release (expected to be released in autumn).

Compiler

New functionality

  • Compiler now supports the “in” operator to check if a string contains another string.
  • Added a bunch of built-in helpers/aliases for types String, Integer, Float and Boolean. (Full list can be found in the DWScript documentation.)
  • Helpers can operate directly on in-line constants. For example, now you can write “hello”.Reverse (which would return “olleh”).
  • “For in” syntax can be used on variants (for var s in someVariant do …). This allows enumerating members of a raw JavaScript objects.
  • “For in” syntax can be used on sets (for var el in someSet do …).
  • Dynamic arrays now have a “sort” method which takes a comparison function; that maps directly to JavaScript array sort method. String, Integer and Float arrays also implement a “sort” method without a parameter which sorts the array in the natural order.
  • Dynamic arrays now have a “map” method which maps directly to the JavaScript map method.
  • Conditional compilation symbol DWSCRIPT is always defined.
  • Added CompilerVersion constant. It holds a floating point value that holds the compiler version in language terms under the form YYYYMMDD.XX, with XX the minor version. This will be updated each time the language changes.
  • Added ability to mark all named types as deprecated (just postfix with deprecated “optional message”), this means among other things that (unlike in Delphi) classes and records can be marked as deprecated.
  • Added limited support for sets.
    • Only sets of enumerations are supported.
    • Only in operator is supported.
    • Compiler supports Include and Exclude methods, which can be used in two ways, either as “Include(mySet, value)” or as “mySet.Include(value)”.

Improved functionality

  • Better code completion hints on array elements.
  • Functions and methods can be marked inline. This is implemented only for Delphi compatibility; inline is ignored in the compiler.
  • “For x in string” loops now accept “break” and “continue” statements.

Bugs fixed

  • Division bug is fixed (“Round(1 / (r / 10))”).

RTL

New functionality

  • Unhandled exceptions in console applications are caught and logged to the console window.
  • Added w3_prompt function which maps to the JavaScript prompt command.

Improved functionality

  • W3Effects unit supports FireFox.
  • Cleanup in css-files.

Bugs fixed

  • A toolbar button glyph is displayed even if the button caption is empty.
  • TW3CustomStorage.getKeyInt tries to convert string data back to the integer form; only if that fails it returns the default value.
  • TW3Label appearance changes when it is disabled.
  • TW3CheckBox is fully disabled when the Enabled property is set to False.

IDE

New functionality

  • Forms and units can be stored in external files by default (Preferences, Store new forms and units in external files).
  • Position and size of the Smart Mobile Studio is remembered between sessions.
  • Open tabs, editor bookmarks and active tab are stored in the project (.opp) file and are restored when the project is open.
  • Project file (.opp) uses CDATA for form/unit storage to be more version control-friendly.
  • When a file is modified outside the Smart Mobile Studio environment, a prompt will ask the user to reload the file. A built-in “difference” engine can be used to show changes between the editor and disk file. External program (such as WinMerge or Beyond Compare) can be configured and used instead of the internal one.

Improved functionality

  • When a built-in server is used to serve the application files, address in the Serving link can be changed to any of computer’s internal addresses.
  • Name of the open project is shown in the window title.
  • Screen resolution list in Preferences, Layout can be sorted manually.
  • Units and forms can be deleted from the project by pressing the Del key when a unit/form node is selected in the Project Browser.
  • Ctrl+Click on an identifier jumps to the beginning of the row.
  • Ctrl+Click on an identifier scrolls the target to the middle of the screen.
  • Better performance when many JavaScript messages are logged to the console log window in the integrated browser.
  • Add Form/Add Unit commands prompt for the new form/unit name.
  • Search centers the result in the text editor.
  • Ctrl+/ removes comment markers that are preceeded by whitespace.
  • Scroll past EOF setting is enabled on a new install.
  • Improved highlighter configuration. All elements (strings, numbers, reserved words …) can now be configured separately for different file types (pascal, javascript …). Highlighter settings can be stored in a file.
  • New examples.
  • RTL index gets rebuild automatically after installation.
  • CD out of the project folder when a project is closed.

Bugs fixed

  • Edited data is not lost anymore if you click on the form designer while editing data in the property inspector.
  • A text containing single quotes can be now entered into the Caption and Text properties in the property inspector.
  • Right-clicking in the project browser works as expected.
  • Shortcuts (Ctrl+C, Ctrl+X, Ctrl+V, Del) on the Design tab are now working correctly.
  • Form and unit renaming corrected.
  • Del key works in the Search & Replace dialog.
  • Search & Replace works correctly when Case-sensitive checkbox is not checked and the found text doesn’t match case-sensitively.

—
Sincerely,
Primož Gabrijelčič, product manager

Stable release

Smart Mobile Studio 1.1.2 (RTM)

Posted on 17.08.2013 by Smart Mobile Studio Team Posted in Developers log

The official 1.1.2 version (build 20) is now ready.

News in 1.1.2.20

These are the changes from beta 2 (v1.1.2.14):

  • Snippets will not be removed during un-installation.
  • Division compiler bug is fixed (“Round(1 / (r / 10))”).
  • Use ‘Application’ as suffix (instead of ‘Project’) for the project name.

Download/installation

Download the installer, setup__v1_1_2_20_RTM.exe and install as normal.

It is not necessary to un-install previous versions or beta versions. However, in some situations, that has proved to be the solution. Eg. if RTL is not properly updated. Make sure you backup the files and folders you want to keep before un-installing.

During installation, a backup of existing RTL and Libraries are made. They are simply copied to a folder with date as postfix. You can just delete these folders if you haven’t made any changes these files.

Known issues

There are no known issues in this version.
If you should bump into an issue, please report that at support@smartmobilestudio.com.

—
Sincerely,
The Smart Mobile Studio Team

release rtm

Smart Mobile Studio 1.1.2 (beta-2)

Posted on 27.07.2013 by Smart Mobile Studio Team Posted in Developers log

We have received lots of useful feedback from the first beta-version of v1.1.2 (build 13).
We have fixed these issues in a new beta-version.

News in 1.1.2.14

These are the changes from beta-1 (v1.1.2.13):

  • Snippets will not be overwritten during installation.
  • Existing RTL files and Library files are backed up with a date-time stamp.
  • RTL index gets rebuild autmatically.
  • Cleanup in css-files.
  • CD out of the project folder when a project is closed.
  • ‘Rename Unit’ works again.

Download/installation

Download the installer, (link removed, since new version is available) and install as normal.

Known issues

We have one more issue we would like to fix before we release this version. That’s a compiler bug we discovered in the last minute.
If you write this Smart code:
[code]
Round(1 / (r / 10));
[/code]

It will be compiled to this JavaScript code:
[code]
Math.round(1/r$4/10);
[/code]
which is equal to “Round((1 / r) / 10);”

The workaround is to use a temp variable for “(r / 10)”.
[code]
var
tmp: Real;
begin
tmp := (r / 10);
Result := Round(1 / tmp);
end;
[/code]

—
Sincerely,
The Smart Mobile Studio Team

beta release Smart Mobile Studio

Smart Mobile Studio 1.1.2 beta

Posted on 03.07.2013 by Smart Mobile Studio Team Posted in Developers log, Documentation, News 2 Comments

Just before the first round of summer holidays we managed to put together a beta version of the next Smart Mobile Studio, version 1.1.2. Installer is available on the download page (link removed, since beta 2 is ready).

Installation

In case you are using the snippets functionality of the Smart Mobile Studio, you should first make a backup copy of the snippets file, because the installer will silently overwrite it with a fresh version. (Yes, this is a bug. Yes, we will fix it.) Navigate to Documents, Smart Mobile Projects and make a copy of the snippets.xml file (in another folder). Restore it after the installation.

Before the installation you should check that SmartMS.exe process is not present in the memory. Due to a bug in the 1.1.1 version, closing Smart Mobile Studio sometimes left SmartMS.exe process active in memory and that would prevent the new version from being installed. Just run Task Manager and kill any SmartMS.exe you can find (or reboot the computer, that would also work).

SmartMS

If you are upgrading an existing installation, please run Tools, Rebuild RTL Index the first time you start Smart Mobile Studio. This should be done automatically on the first run but we made a mistake preparing the installer and this step is skipped. It will be fixed in the real 1.1.2 release.

Changes

The focus of this release was mainly on fixing old bugs and making everying run smooth. We did, however, add some useful new features.

As you’ll probably notice looking at the changelist below, we didn’t fix most of the problems with the form designer. The reason for this is that we’re working on a completely new designer which will be included in the 1.2 release (expected to be released in autumn).

Compiler

New functionality

  • Compiler now supports the “in” operator to check if a string contains another string.
  • Added a bunch of built-in helpers/aliases for types String, Integer, Float and Boolean. (Full list can be found in the DWScript documentation.)
  • Helpers can operate directly on in-line constants. For example, now you can write “hello”.Reverse (which would return “olleh”).
  • “For in” syntax can be used on variants (for var s in someVariant do …). This allows enumerating members of a raw JavaScript objects.
  • “For in” syntax can be used on sets (for var el in someSet do …).
  • Dynamic arrays now have a “sort” method which takes a comparison function; that maps directly to JavaScript array sort method. String, Integer and Float arrays also implement a “sort” method without a parameter which sorts the array in the natural order.
  • Dynamic arrays now have a “map” method which maps directly to the JavaScript map method.
  • Conditional compilation symbol DWSCRIPT is always defined.
  • Added CompilerVersion constant. It holds a floating point value that holds the compiler version in language terms under the form YYYYMMDD.XX, with XX the minor version. This will be updated each time the language changes.
  • Added ability to mark all named types as deprecated (just postfix with deprecated “optional message”), this means among other things that (unlike in Delphi) classes and records can be marked as deprecated.
  • Added limited support for sets.
    • Only sets of enumerations are supported.
    • Only in operator is supported.
    • Compiler supports Include and Exclude methods, which can be used in two ways, either as “Include(mySet, value)” or as “mySet.Include(value)”.

Improved functionality

  • Better code completion hints on array elements.
  • Functions and methods can be marked inline. This is implemented only for Delphi compatibility; inline is ignored in the compiler.
  • “For x in string” loops now accept “break” and “continue” statements.

RTL

New functionality

  • Unhandled exceptions in console applications are caught and logged to the console window.
  • Added w3_prompt function which maps to the JavaScript prompt command.

Improved functionality

  • W3Effects unit supports FireFox.

Bugs fixed

  • A toolbar button glyph is displayed even if the button caption is empty.
  • TW3CustomStorage.getKeyInt tries to convert string data back to the integer form; only if that fails it returns the default value.
  • TW3Label appearance changes when it is disabled.
  • TW3CheckBox is fully disabled when the Enabled property is set to False.

IDE

New functionality

  • Forms and units can be stored in external files by default (Preferences, Store new forms and units in external files).
  • Position and size of the Smart Mobile Studio is remembered between sessions.
  • Open tabs, editor bookmarks and active tab are stored in the project (.opp) file and are restored when the project is open.
  • Project file (.opp) uses CDATA for form/unit storage to be more version control-friendly.
  • When a file is modified outside the Smart Mobile Studio environment, a prompt will ask the user to reload the file. A built-in “difference” engine can be used to show changes between the editor and disk file. External program (such as WinMerge or Beyond Compare) can be configured and used instead of the internal one.

Improved functionality

  • When a built-in server is used to serve the application files, address in the Serving link can be changed to any of computer’s internal addresses.
  • Name of the open project is shown in the window title.
  • Screen resolution list in Preferences, Layout can be sorted manually.
  • Units and forms can be deleted from the project by pressing the Del key when a unit/form node is selected in the Project Browser.
  • Ctrl+Click on an identifier jumps to the beginning of the row.
  • Ctrl+Click on an identifier scrolls the target to the middle of the screen.
  • Better performance when many JavaScript messages are logged to the console log window in the integrated browser.
  • Add Form/Add Unit commands prompt for the new form/unit name.
  • Search centers the result in the text editor.
  • Ctrl+/ removes comment markers that are preceeded by whitespace.
  • Scroll past EOF setting is enabled on a new install.
  • Improved highlighter configuration. All elements (strings, numbers, reserved words …) can now be configured separately for different file types (pascal, javascript …). Highlighter settings can be stored in a file.
  • New examples.

Bugs fixed

  • Edited data is not lost anymore if you click on the form designer while editing data in the property inspector.
  • A text containing single quotes can be now entered into the Caption and Text properties in the property inspector.
  • Right-clicking in the project browser works as expected.
  • Shortcuts (Ctrl+C, Ctrl+X, Ctrl+V, Del) on the Design tab are now working correctly.
  • Form and unit renaming corrected.
  • Del key works in the Search & Replace dialog.
  • Search & Replace works correctly when Case-sensitive checkbox is not checked and the found text doesn’t match case-sensitively.

—
Sincerely,
Primož Gabrijelčič, product manager

beta release Smart Mobile Studio

Playing with the design

Posted on 03.06.2013 by Jørn E. Angeltveit Posted in Developers log, Documentation, News

There was a question about “adjusting the background color of a form” a while ago. There are actually several ways to adjust the background color of a form, and one should know how Smart works on this area to be able to give the app you’re working on a visual face lift.
Since the various methods might interfere with each-other, it’s important to know the dependencies between the various methods. For example, if you set color by code in the OnCreate method, this will ignore the color in the Object Inspector…

I’ll go trough the various methods by using the classical “Calc (by Eric Grange)” demo in the Demos folder.
Continue reading→

CSS design forms how-to tutorial

Smart Mobile Studio 1.1.1

Posted on 14.05.2013 by Smart Mobile Studio Team Posted in Developers log, News

We have fixed a few issues in the v1.1 release and wrapped up a new release with these hotfixes included.
Just download the latest installer directly from the download page.

Changes

  • Fixed bug in W3Animation unit
  • Fixed compiler bug for div by negative numbers
  • Added missing TW3ListBox.Clear method
  • Fixed wrong modal dialog position
  • Fixed “Unit form1=impl could not be located” error message
  • Improved background compiler
  • Fixed requestAnimationFrame problem in Opera, Android browsers and Safari on iOS < 6.0

—
Sincerely,
The Smart Mobile Studio Team

release

New Product Manager: Primož Gabrijelčič

Posted on 02.05.2013 by Jørn E. Angeltveit Posted in News
Primož Gabrijelčič

Primož Gabrijelčič is our new product manager.

We are proud to present Primož Gabrijelčič as the new product manager for Smart Mobile Studio.

Primož has followed the project since the early conceptual stages back in 2010. He joined as a very active alpha/beta tester when we started the full-time development back in 2011, and he contributed with useful code and components. When we released v1.0 of Smart, Primož released “A Smart Book”, and he established the smartprogrammer.org blog.

During the autumn of 2012, Primož gradually joined as an active developer, and it’s really a pleasure to hand over the product management to such a skilled and talented person.

Welcome Primož! We look forward to bring Smart Mobile Studio to the next level with you 🙂

Thank you, Lennart, for the effort you have put into Smart during your time behind the wheel. It has been a pleasure to work with you trough these years.

Smart Contest 2013 – Round #2

Posted on 01.05.2013 by Smart Mobile Studio Team Posted in Developers log, News

It’s already May, and that means Smart Constest Round #2. This time we’re really going for the playful parts of the competitions, because we have “Game development” on the menu this time.
Join the competition and have fun! You might even win an exciting prize by showing off your Object Pascal skills!

The rules are as follows:

  • Registration before the 13th of May (registration at contest@smartmobilestudio.com)
  • Deliver your contribution before 3rd of June
  • The source code will be shared in our show case area
  • Preferable that it can run in the integrated IDE browser (but not mandatory)
  • No restrictions w.r.t game genre
  • No restrictions w.r.t project type (canvas, sprite, console, VCL)
Wartrail main screenWartrail, by Eric Grange.

Created in Smart Mobile Studio


Prizes

First prize is a tablet device of your own choice (up to USD 750). So have your pick between

  • iPhone
  • iPad
  • iPad mini
  • Windows Tablet
  • Windows phone
  • Android tablet or phone

Judges

Eric Grange

He is the developer of several popular Delphi projects, among them the Delphi Web Script project – the compiler in Smart Mobile Studio. He is the author of the blog delphitools.info where you will find lots of interesting articles and projects.

Jon Lennart Aasenden

The main developer of Smart Mobile Studio since the beginning. De describes himself as “an unorthodox, hyper creative and passionate software developer”. He has contributed with several interesting project to the Delphi community.

Delivery

All contributions must be delivered in full source and binary with no missing pieces. The project must compile with the current version of Smart Mobile Studio (v1.1) with no external dependencies. External libraries must be included in project. Project name, short description, screen shot and browser requirements must be specified along with the delivery.

Delivery to contest@smartmobilestudio.com.


Q: Will it be possible to participate with a trial version of Smart Mobile Studio?
A: Yes! 😀


Happy coding!

The Smart Mobile Studio Team

Game programming – Part 2

Posted on 30.04.2013 by Jon Lennart Posted in Developers log, News

In the first installment of this article we had a look at how to load and display a tile based map. In this second post we will take it one step further by implementing scroll (movement) management – which is an essential part of our chosen genre of games.
Continue reading→

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)
  • Prev
  • 1
  • …
  • 3
  • 4
  • 5
  • 6
  • 7
  • …
  • 13
  • Next
© Optimale Systemer AS