Feeds:
Posts
Comments

I would love it if 4D could mimic the dynamic layer system that Adobe uses.

4D Views

4D v11 has a limit of 9 ‘views’ per form. Views are great for swapping out elements in the same area and making it easier to target a collection of related objects.

4d view stack

With more complex forms, I’ve wanted more views than the maximum number allowed. I could use the pages feature of forms, but then I’d have to manage the current page programmatically. Besides views/layers are a design concept and pages are more to control data display.

The following are examples from Flash and InDesign. There are no conceivable limits to the number of layers in the Adobe suite. A small preview pane would be nice too, but lets not get ahead of ourselves.

Adobe Layers

flash layers

I’m a big fan of the color knock-outs that make it really easy to find that layer’s objects in the project.

adobe layers

4D forum feature request

Requires login, official feature request.
Adding views of our own.
Object has ‘layer’ property.

Slider bar for zoom level

4Dv12 has a magnifying glass and preset zoom levels (50, 100, 200, 400, 800) to aid in designing forms. However, more fine tuned controls would aid in the design of complex and large forms.

zoom icons

Just a whimsical wish that I could zoom to something other than the presets. Even the magnifying glass doesn’t custom zoom, only zooms to the next or previous (with shift key) ‘level’ on the scale.

Hint, to avoid hair pulling use the 4D function CAST to explicitly type data types in 4D SQL statements.

Consider the following for boolean field [ODBCTest]FieldBoolean.

// 4Dv12.1 sees this as a string assignment to boolean
// FieldBoolean = true throws an unfound column error
Begin SQL
	UPDATE ODBCTest 
	SET FieldBoolean = 'true'
	WHERE id=29168
End SQL

This will throw error 1108:

Error code: 1108
Operation VK_STRING  = VK_BOOLEAN  is not type safe.
component: 'SQLS'
task 11, name: 'P_2'

However, using CAST will give us the desired result.

// also works: CAST(1 as BOOLEAN)
Begin SQL
	UPDATE ODBCTest 
	SET FieldBoolean =CAST( 'true' as BOOLEAN)
	WHERE id=29168
End SQL

Of course it would be nice if 4D compiler could detect these types of problems before they occur.

Design a site like this with WordPress.com
Get started