FAQS
4D Interpreted Desktop is no longer provided as a separate executable.
However, the free deployment license for 4D Interpreted Desktop is still provided with all our development products.
To freely distribute your application in interpreted mode, distribute your 4D application (the same one that you use for development) along with your 4D database. Your end-users can use the application without a 4D product number.
Yes. Even though 4D Client isn't a physical product anymore, the means of selling and licensing 4D Client expansions has not changed. You still have two client licenses included with 4D Server or 4D Team Developer Professional. You can purchase 1-, 5-, or 10- user 4D Client expansions for 4D Server v11 SQL to increase your number of concurrent users. 4D Client licenses reside on and are counted from the server.
With the release of 4D Server v11 SQL, "4D Client" is included in the 4D application. 4D Client, as an executable, is no longer installed on your machine.
To connect to 4D Server, launch 4D and follow the instructions in the new Wizard, or simply choose Open Remote Database... from the File menu.
The SQL Unlimited expansion is installed on 4D Server, allowing it to accept multiple SQL connections from third-party applications, without using up your 4D Client licenses.
The only limit is the physical capacity of your machine to effectively handle multiple SQL processes, based on the number and power of its processors.
The SQL Unlimited Expansion license is sold for servers with up to two processor cores. For more powerful servers, you can buy additional licenses corresponding to the number of processor cores on your machine.
No. 4D Team Developer Professional, as a server-based development license, only accepts 4D Team Developer Expansion licenses to increase the number of concurrent users, in addition to the two clients provided by default.
If you have 4D Server Developer 2004 as well as 4D Client Expansion 2004, and would like to upgrade to 4D Team Developer Professional v11 SQL, please contact your 4D representative.
4D for Flex currently offers:
• custom DataGrid inheriting from Flex DataGrid
• some navigation controls (like automatic first-next-last...)
But you can also use Flex UI Controls like the Adavanced DataGrid, available in Flex 3 Builder Pro: http://livedocs.adobe.com/flex/3/html/help.html?content=dpcontrols_6.html
Apart from a 4D SQL server, you need the Flex SDK.
You can get if for free from Adobe's site (http://www.adobe.com/products/flex/) and use it with the command-line, or use the commercial IDE Flex Builder provided by Adobe.
Not for development, but for deployment, yes.
Yes, you can call 4D methods published for SQL.
Simply check the "Available through SQL" box in the method Properties Editor, and call it from your SQL code.
See the provided examples for how this is done.
No server-side code is necessary, but you'd better add some security control in the new On SQL Authentication database method.
• The 4D for Flex component (Flex4D_SQL.swc) is 524k by itself.
• The Flex4D+Controls.swc (DataGrid…) weighs in at 716k.
• A demo like Spending (including both components) is 388k.
You can decrease SWF file size with Flex 3's new mechanism of persistent framework caching, which “allows the Flex framework to be cached the first time any Flex application is used, so it is ready for reuse with other Flex applications regardless of the domain they come from. This cache is unrelated to the browser cache, so once the Flex framework has been downloaded it will continue to be available to any Flex application.”
See the Adobe site for further details.
They both target developing RIAs for a 4D Server. But, they really follow two different schemes:
4D for Flex works in a connected mode, without any component on Server side. The communication between the client and the Server relies on a proprietary SQL protocol (same as the one used for ODBC support for 4D SQL), so it requires opening a special port on firewalls for allowing communication.
No, it uses a SQL protocol specific to 4D SQL Server.
The minimum version of 4D required is 4D v11 SQL Release 2 (11.2)
The SQL Server port set in the preferences, default was 1919 until 11.2 and is now 19812.
Of course, this port needs to be available through firewalls.
You've got two communication modes between 4D & Flex:
• Using HTTP (or SOAP over HTTP), working in disconnected mode, exchanging data in Plain Old XML (POX)
• Using SQL sockets with 4D for Flex, working in connected mode, exchanging data through a binary protocol
You can use the SELECT FOR UPDATE feature. Please see the manual for more information.
There is no utility like an HTTP sniffer, as 4D for Flex uses binary sockets.
But you've got:
• a SQL Server side log – See the provided examples for how to activate it.
• an AIR component for tracing communication between Flex and 4D
You may receive the following error:
Security sandbox violation
http://localhost8080/SpendingsUI.swf cannot load data from localhost1919
This is due to a change in the Adobe Flash Player Security Model starting from version 9.0.124. See:
http://www.adobe.com/support/security/bulletins/apsb08-11.html
To fix this issue, you will need to use 4D Server v11 SQL Release 2.
In addition, you will need to save a policy file allowing connections to the SQL Server port in a folder inside the DB package: Preferences/SQL/Flash.
This file called socketpolicy.xml may contain something like this:
You may also get Error #2031, whose resolution is the same.
“Any beginner Flex user with a fresh FB3 install wil not have a fr_fr locale and will not be able to compile/run the demos.”
Adobe does not provide the "fr_FR" locale (only English & Japanese locales are provided by default). You will have to create your own locale by using the "copylocale" tool provided by Adobe.
Using the "Adobe Flex 3 SDK Command prompt", just type: copylocale en_US fr_FR
Of course, your locale will not be automatically translated but you now have a proper "fr_FR" locale, and you should be able to compile your examples...
Note: Adobe will provide translations for more languages in the future. For the time being, for French and Spanish you can use the following:
http://ttfx.org/Tontons_Flexeurs/BabelFlex.html
“I tried to create an AIR project using 4D for Flex but there seems to be a conflict. It looks like some of 4D for Flex's classes conflict with AIR's own SQL classes. SQLConnect is one of them.”
1) The approach of using what we call the Flash layer is not supported as it is explained in the manual.
2) If you still want to use this API, you can fully qualify this function as a workaround:
private function initApp():void { _connection = new fourD.sql.SQLConnection();
That's how we built our SQLAdmin AIR demo, dervied from Christophe Coenraets' work, found at:
http://coenraets.org/blog/2008/02/sqlite-admin-for-air-10/
You can find a complete listing here:
http://livedocs.adobe.com/flex/3/langref/runtimeErrors.html
If you decide to not continue your subscription, you will still have full access to the version of the software you currently have and it will continue to function. However, you won't have access to any bug fixes, new features, or new parts of the product that we release after your subscription expires.
If you stop subscribing and then decide to resume a subscription after your current one has expired, you can ‘catch-up' by calling your 4D account representative or 4D Customer Service.
4D Web 2.0 Pack is a development tool, so you should buy the version of 4D Web 2.0 Pack that will work with the product you develop with. "Hassle-free" deployment means that you don't have to worry about which version of 4D your customers are using.
Yes, of course! We think that once you've tried the tools 4D Ajax Framework has to offer, you'll love them so much that you won't want to do Web development without them, but they are not required in order to develop rich Internet applications with 4D.
4D web applications can run on either, as long as you have a copy of 4D Web Server in place.
There's no reason you can't. However, there are some things that 4DAF does that those other frameworks simply do not offer. For example, we've focused 4D Ajax Framework on providing powerful query handling and data organizing, such as our data tree and calendar controls.
Not at all. We've introduced 4D Ajax Framework to give you more choices, not less. Using a web browser as a 4D client is meant to be an additional option to go alongside of using the existing 4D Client.
Nothing. You need to add one component to the application, but the rest of your data structure doesn't need to be touched.
The 4D Ajax Framework is a multi-layered framework with deep integration into the 4D environment. It has been designed to complement the existing 4D developer environment. Ajax frameworks that are not system-specific do not have the same level of integration. They work well for basic functions but are less useful for in-depth 4D application development or integration. For example, 4D Ajax Framework recognizes and can use an existing 4D security user/group structure. Other frameworks don't.











