Google+ ZACARÉS: Embarcadero

Translate

Showing posts with label Embarcadero. Show all posts
Showing posts with label Embarcadero. Show all posts

2016/03/22

Embarcadero RAD Studio 10 Seattle Android Native Splash Screen

Quick Notes

  • Prepare your splash image and name as splash.png (760x1024).
  • Build the project, target Android to obtain AndroidManifest.template.xml
  • Modify generated AndroidManifest.template.xml, change the highlighted line
    <application android:persistent="%persistent%"
        android:restoreAnyVersion="%restoreAnyVersion%"
        android:label="%label%"
        android:debuggable="%debuggable%"
        android:largeHeap="%largeHeap%"
        android:icon="%icon%"
        android:theme="%theme%"        android:hardwareAccelerated="%hardwareAccelerated%">
     <application android:persistent="%persistent%"
        android:restoreAnyVersion="%restoreAnyVersion%"
        android:label="%label%"
        android:debuggable="%debuggable%"
        android:largeHeap="%largeHeap%"
        android:icon="%icon%"
        android:theme="@style/MyTheme.NoTitleBar.CustomBackground"        android:hardwareAccelerated="%hardwareAccelerated%">
  • Create styles.xml with the following content
<resources>
<style name="MyTheme.NoTitleBar.CustomBackground" parent="@android:Theme.Black">
  <item name="android:windowBackground">@drawable/splash</item>
  <item name="android:windowNoTitle">true</item>
  <item name="android:windowFullscreen">false</item>
  <item name="android:windowContentOverlay">@null</item>
</style>
</resources>
  •  Deployment property
    • styles.xml --> res/values/styles.xml
    • splash.png --> res/drawable-port/splash.png

2015/05/20

How to set XE8 FD Explorer ini file Setting location



In XE8, you can find that the ini file setting location has been set as following (you can find this in the FireDAC Explorer):

Connection definition file = C:\Windows\FDConnectionDefs.ini and 
Driver configuration file = C:\Windows\FDDrivers.ini

The problem is C:\Windows usually not allow for file write and that cause a problem, I CANNOT create any connection definitions.

These settings are readonly, though there is a checkbox for you to set default.

The only way that I can find to modify these location is by REGEDIT.

You can find the settings in HKEY_CURRENT_USER\Software\Embarcadero\FireDAC. Just modify the value for ConnectionDefFile and DriverFile accordingly and you will be able to save the settings.


2015/04/29

Embarcadero seems targeting linux platform

It seems Embarcadero beginning to build toolschain to target linux platform. 





 [ComponentPlatformsAttribute(
    pidWin32
    or pidWin64
    or pidOSX32
    or pidiOSSimulator
    or pidAndroid
    or pidLinux32    or pidiOSDevice
    or pidiOSDevice32
    or pidLinux64    or pidWinNX32
    or pidWinIoT32
    or pidiOSDevice64
    )]
That's great but if RAD studio can be cross-platform itself, it would definitely a good news.

#embarcadero #RAD #linux #crossplatform

2015/04/25

Embarcadero RAD XE8 support SQLite encryption on iOS but not OSX

After a quick test, I found that XE8 support SQLite with encryption on iOS, too. However, OSX seems not supported as I got runtime error when running on OSX.

#embarcadero #delphi #xe8 #sqlite #encryption #ios

Embarcadero RAD XE8 support sqlite encryption on android

Woo, cool. Embarcadero RAD XE8 finally support sqlite encryption on Android platform (originally only support Windows Platform. Not sure with MAC, iOS or Linux as I only test Windows and Android Platform). That's great news as people are now more concern on their data.

#Delphi  #XE8 #SQLite #Encryption

2015/04/17

Embarcadero RAD XE8 Testing

Just have a chance testing with XE8. It has many improvements that make me to try it again for cross-platform development.

The most notable changes that inspire me much are:
  • All supported platforms have TWebBrowser component. In the past, I always need to build to the device to check for Web Browser related stuff, which is very time consuming. With TWebBrowser supports on Windows platform let me have a quick test on the app before deployment.
  • FMX version of TImageList control. Though it is quite heavy weight but it is a very convenience components to add all images to the application
  • 64bit iOS support (Apple requirement :( ). I love Qt, but the progress on this is a bit ...
  • Box2D Physic Engine, seems interesting though I'm not developing games
  • Native HTTP/HTTPS client support, no more openssl dependent. This is great as I have no need to compile openssl for different platforms
  • Static SQLite library for supported platform. It seems to be able to use the OTFE database but I need to further test with
One thing to note. If you want to try compiling the RESTDebugger, you will probably failed. It seems the team has tried to refactor the code but the resultant file is missing.

If you want to compile RESTDebugger by yourself, just save below code as "uRESTDebuggerResStrs.pas" in the same folder of RESTDebugger source folder will be sufficient. (NB. I just copy the relevant section from XE7 code plus some new stuff with my own wording introduced in XE8).

unit uRESTDebuggerResStrs;

interface

resourcestring
  RSAddCustomParameter = 'Add Custom Parameter';
  RSAddParameter = 'Add Parameter';
  RSBytesOfDataReturnedAndTiming = '%d : %s - %d bytes of data returned. Timing: Pre: %dms - Exec: %dms - Post: %dms - Total: %dms';
  RSCannotProceedWithoutRequest = 'Cannot proceed without request.';
  RSComponentsCopied = 'The following components have been copied to the clipboard: %s';
  RSConfirmClearRecentRequests = 'Are you sure that you want to clear list of the most recent requests?';
  RSConfirmDeleteCustomParameter = 'Are you sure you want to delete the custom parameter?';
  RSContentIsNotJSON = 'Content is not JSON';
  RSContentIsValidJSON = 'Content is valid JSON';
  RSEditCustomParameter = 'Edit Custom Parameter';
  RSEditParameter = 'Edit Parameter';
  RSInvalidRootElement = 'Invalid root element';
  RSNoCustomParameterSelected = 'No custom parameter selected.';
  RSProvideAuthCode = 'Authenication Code';
  RSProvideAuthEndPoint = 'Authenication End Point';
  RSProvideClientID = 'Client Id';
  RSProvideClientIDAndClientSecret = 'Client Id and Client Secret';
  RSProvideTokenEndPoint = 'Token End Point';
  RSProxyServerDisabled = 'Proxy-server disabled';
  RSProxyServerEnabled  = 'Proxy-server enabled: ';
  RSRootElementAppliesToJSON = 'Root Element, "%s" not applied.  Root Element is only applied to JSON content.  Content is not JSON.';
  RSUnableToValidateCertifcate = 'Unable to validate certificate.';

implementation

end.

 
#delphi #XE8 #Embarcadero



2014/08/17

Embarcadero RAD Studio XE6 Test (After Thought)

After testing Embarcadero RAD Studio XE6 for sometimes, here are some findings/summary of mine.

Pros:
  • great for rapid prototyping
  • easy to use (for simple app)
  • single code base (delphi/c++) for multi-platform (FMX), Win32, Win64, Android, iOS, OSX.
  • ARC for ui components (a feature that Qt already have when I first use it)
  • FireDAC for easy database app creation
  • REST components
  • Some eye-catching features like Application Tethering, Integration with BaaS, InApp Purchase and Advertising components ...
Cons:
  • some design issue. e.g. grid assume all cells with same content alignment. (Who will use a table with contents all right-justified?)
  • not fully multi-platform. e.g. webbrowser not available on Windows platform
  • runtime library a bit large (>30MB in release mode)
  • startup time a bit long, especially for android, may be due to the large runtime library
  • issue with multi-threading on iOS, got unexpected AV
  • sometimes need tweaking, e.g. reorder your code execution sequence, to display properly. The most noticeable one is TWebBrowser on iOS, you need to make TWebBrowser component visible before assigning url, otherwise, the component seems invisible. Also, you need to make it invisible before you can show your other ui components as the TWebBrowser, if visible, will cover up all other components. (may be it is due to the fact that I've placed the webrowsee on a TLayout)

Some suggestions:
  • Minimize the forms used in development as starting up a form takes long time, that's why I use a TLayout with TWebBrowser in the above
  • TabControl may be another choice for page navigation
  • One initialize your first page and postpone all other initialization process to a later time using timer, especially for android to shorten the black screen delay during startup



2014/07/23

Embarcadero RAD Studio XE6

There is a long time not updating this blog. As recently I have been assigned for a job to test and try developing cross-platform application using Embarcadero RAD Studio XE6.

For paid solution, it seems a great tool. But I need to investigate more.