RadPHP XE2 Update 2 Release Notes
This page contains important supplementary information that may not appear in RadPHP Documentation. Read it in its entirety.
Contents |
Overview
RadPHP helps you work on a wide variety of projects:
- HTML Interfaces, use HTML controls like Button and Label to develop lightweight HTML interfaces, and give them life with CSS.
- Pure PHP Projects, RadPHP includes a feature-rich source code editor (the traditional way of working with PHP).
- Templates, develop HTML templates and integrate components into those templates to add live content.
- Rich JavaScript-AJAX interfaces, use controls like DBGrid, MainMenu, and UpDown to create a rich interface which is designed to be “loaded once”. This would use AJAX to post/get data from the server.
- RPCL Applications, visually-designed PHP projects using the RadPHP Component Library.
- Database Applications, powerful database-oriented applications.
- Web Services, modular applications that provide features on the Internet.
- Mobile Applications, PhoneGap-based mobile projects for Android and iOS.
- Facebook Applications, projects to integrate with the world largest social network.
Properties and Events
In RadPHP Component Library (RPCL), PHP magic methods (__get() and __set()) are used to emulate properties and events. The following table describes the naming convention used in both source code and documentation:
| Method Name | Defines | How it's used in the Object Inspector and Code Editor |
|---|---|---|
| readPublicProperty | A public property | A public property named PublicProperty with the help attached to the method readPublicProperty(). |
| getPublishedProperty | A published property | A published property named PublishedProperty with the help attached to the method getPublishedProperty(). |
| readOnPublicEvent | A public event | A public event named OnPublicEvent with the help attached to the method readOnPublicEvent(). |
| getOnPublishedEvent | A published event | A published event named OnPublishedEvent with the help attached to the method getOnPublishedEvent(). |
| readjsOnPublicEvent | A public JavaScript event | A public JavaScript event named OnPublicEvent with the help attached to the method readjsOnPublicEvent(). |
| getjsOnPublishedEvent | A published JavaScript event | A published JavaScript event named OnPublishedEvent with the help attached to the method getjsOnPublishedEvent(). |
For example, the Label->Caption property is retrieved with the method Label->getCaption() in code.
Use the F1 key to find help on a property, event or method in the Object Inspector.
Trial Version
Upgrade to a Fully-licensed Product
Follow steps below to upgrade a trial version of RadPHP:
- If your trial has expired:
- Start RadPHP. Embarcadero Product Registration wizard will pop up.
- Enter your new serial number.
- Register your product.
- If your trial has not expired:
- Run LicenseManager.exe, which you will find in your RadPHP installation folder. For example: C:\Program Files\Embarcadero\RadPHP\4.0\bin\LicenseManager.exe.
- Go to Serial > Add.
- Enter your new serial number, and click OK.
- Verify that your new serial number is listed under Unregistered serial numbers node. If your number is not listed there, exit the License Manager, verify the serial number, and repeat the process from step 1.
- Highlight your new serial number in the License Manager and go to Serial > Register.
- Embarcadero Product Registration wizard will pop up, then register your product.
Check Remaining Days
To check the amount of remaining days of your RadPHP trial version:
- Run LicenseManager.exe, which you will find in your RadPHP installation folder. For example: C:\Program Files\Embarcadero\RadPHP\4.0\bin\LicenseManager.exe.
- Expand the left side of the tree, and click on the RadPHP entry.
You should not be able to see Remaining days in the right pane.
Once your trial expires, Embarcadero Product Registration wizard will pop up whenever you start RadPHP, and you will be prompted to enter your purchased full-product serial number.
Notes
General
- Mixing Components from Different Libraries on a Form
- Some libraries and frameworks are not compatible with each other. This is because browser resources are shared between the same components, resulting sometimes in conflicts. For example, classes derived from DWidget may conflict with classes derived from QWidget, like GraphicMainMenu, which conflicts with PageControl.
- Check RadPHP Documentation for a Component Compatibility Matrix.
- Invoking Code Templates
- Delphi and C++Builder users may be used to Code Templates being added to the Code Editor when typing keywords like for followed by a whitespace. In RadPHP, you must press Ctrl+J instead. When there are several choices available, a list will pop up for you to choose the one that fits you better.
- JavaScript
- JavaScript is a language that allows you to write software to be executed on client’s browser. The problem with JavaScript is that each browser vendor introduces its own modifications of the JavaScript language, and that leads to incompatibilities. Be aware that you must verify that your JavaScript code will work on the browsers you want to target.
- Also, note that in RadPHP, breakpoints and other debug support are not available for JavaScript. While RadPHP does not prevent you from setting the breakpoint, any breakpoint in JavaScript code will not be triggered.
- JQuery Version Collision
- RPCL components might use different versions of JQuery. Mixing those components will lead to multiple versions of JQuery being included in your script, thus causing a version collision. We are working on a mechanism to prevent this from happening. We expected to have it in the next update of the RPCL.
- Check RadPHP Documentation for a Component Compatibility Matrix.
- Write Permissions
- You must have write permission on the folder where the forms are located, since RadPHP needs to write there to render components.
- Drag and Drop on Templated Forms and HTML Pages
- Drag and drop of components on Templated Forms and HTML Pages is not supported at this time. Click the component and then the form or page, or double-click for the component to be added immediately.
- Extract Superclass
- RadPHP does not support Extract Superclass refactoring across multiple files.
- Modifying Breakpoints Target File
- If you change the target file of a breakpoint within the breakpoint property, that change is not actually reflected in code. User will have to delete the unwanted breakpoint in the first file and add a new breakpoint in the desired location in the new file.
- Table Name in SQL Window on Windows XP
- On Windows XP, when you drag and drop a table onto the SQL Window, the resulting table object does not display the name of the table. This can cause confusion if you drag and drop multiple tables at once.
- Zend Framework Google Components
- For Zend Framework Google components to work, you will need to enable PHP OpenSSL extension.
- Zend Framework Components and Xammp
- Xampp includes a version of Zend Framework different from RadPHP’s. This may cause problems. Change server’s include_path property so the RPCL can find the right Zend Framework.
- Mobile Applications
- Mobile components are intended to work only on a mobile application, that is, over an MPage design surface, otherwise they may cause undesirable results. Also, standard components added to mobile applications might not render as shown in the IDE.
- Events for mobile components are binded using JQuery, and are loaded on page creation, as opposed to being loaded on the ready event.
- PhoneGap, XCode and Eclipse
- RadPHP includes Phonegap version 1.0.0.
- On XCode, you have to make sure you installed the correct PhoneGap version in order to compile the project generated by the Wizard for PhoneGap.
- If you are using Eclipse to build Android applications, the project generated by the Wizard for PhoneGap can be imported into Eclipse. Make sure you have the Android SDK properly installed.
- Android Emulator
- First time Android emulator is used, it takes too long and this error is eventually thrown: Error: Could not Access the Package Manager. Is the system running?. This is due to an upstream issue with Android SDK Tools, emulator has a default timeout value we can not change. When this happens to you, just leave the emulator running and build the application again from the PhoneGap Wizard.
Note: This behavior will only happen the first time you run the emulator, it will work fine from then on.
- Data Explorer, MySQL 5.1 and UTF-8
- There are known problems trying to use Data Explorer to access a MySQL 5.1 server and setting the ServerChartset parameter of the connection to UTF-8. If you need to work with such a server and using that charset, avoid using Data Explorer and setup your Data Access components manually.
- Apache, PHP and IIS
- RadPHP copies its own set of Apache and PHP to your hard drive, but this does not affect any existing installations of these applications. If you already have Apache and PHP setup on your machine, any configuration setup by those installations remains unchanged. The files included with RadPHP are not installed on your machine, they are simply copied and used when needed.
- You can use IIS to run your applications. To do this, just save your project in a public folder of IIS (for example, C:\inetpub\wwwroot) and use your browser to run your .php applications. Debug might work, but it is not supported at this time.
Database
- FireMonkey Client Requires Workaround to Support DataSnap REST Client Proxy
- DataSnap or Cloud clients for C++/OS X do not link when built with run-time packages. The workaround is to add CustomIPTransport to the run-time packages list (choose Project > Options > Packages > Runtime Packages).
- Unicode and Drivers
- The following database drivers are not Unicode-enabled:
- DB2
- Sybase ASE
- Informix
- Connection Failure
- If you are upgrading a database application from Delphi 2007 to Delphi XE2, the connection might fail. The workaround is to add DBX<database_name> to your uses clause. For example, if you are using a TSQLConnection and connecting to an Oracle database, you need to add DBXOracle to your uses clause.
- The following combinations have been tested:
- LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 4.0.XX Server
- LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 4.0.XX Server
- LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 5.0.XX Server
- LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 5.1.XX Server
- Driver Conflicts in Multi-Version Installations
- If you have a previous version of the product installed and try to use the older version, it may load the drivers from this release when running from the IDE. This is because the \bin directory is ahead in the system path. To use the older drivers, one solution is to add an Override to your path in Tools > Options > Environment Variables and place your older \bin directory at the front of the path.
Help
RadPHP Help Menu and Start Page contain links to RadPHP Help, RPCL Reference, and PHP Manual. In RadPHP Help, apart from the offline content, you will find several references to additional help resources in the Internet.
Also, Code Help is available in the Code Editor, you can access it by pressing Ctrl+Space to open the Code Insight pop-up window.
Samples and Demos
RadPHP Help includes a page, Sample Applications, which explains where to find RadPHP sample applications, and helps you work with them.
You will also find additional help resources at Embarcadero RadPHP Developer Network website: edn.embarcadero.com/radphp.
Support
Embarcadero Developer Support provides support for software development teams for thousands of customers worldwide. To get access to support services such as frequently asked questions, opening a support case, and user supported technical newsgroups, visit support.embarcadero.com.
Updates
You can download RadPHP updates at cc.embarcadero.com/reg/radphp.
Latest RPCL releases can be downloaded from sourceforge.net/projects/rpcl.