The information about row and column changing is still being documented. There are significant changes in the way the new grid works as compared to the old grids. Here is a summary that should help everyone get started.
Navigation consists of changing columns and changing rows. A navigation event consists of a row change and/or a column change. It is best to think of these as two events.
When a column change occurs, events are sent to the
Recent research has suggested that "devil" is actually an old fashioned spelling for "developer". While this does not entirely surprise me, I will leave the theological implication of this to others. What I would like to discuss is how this applies to the old adage "Idle hands are the devilís workshop". Does this really refer to developers and, if so, how can we make idle hands or, more accurately idle handlers part of our workshop?
In Visual DataFlex revision 12.1, we introduced
The DataFlex activation and deactivation mechanism has a long history. It was built as part of the original object-oriented user interface and has gone through many changes. It had to be extended to support modal and non-modal objects. It was then expanded to work with data aware objects (DEOs). Later it was altered to support Windows controls. It should come as no surprise that the end result is that there are a lot of ways to make this work and even more ways to make this not work. Sooner or later
Updated 1-Sep-2011 at 11:44 AM by Dennis Piccioni
If you are a follower of the Development Team Blog, I hope you agree that it is a great resource that is getting better all the time. Apart from giving you something new to read a couple of times each week, we are trying to create a library of information that can be accessed when needed. These days we expect a Visual DataFlex developer to do their research by first checking the documentation, then searching the Development Team Blog and finally searching our Userís Forum. Letís explore these three
I'd like to talk about two of the changes made in our Visual DataFlex 15.1 Release Candidate (VDF15.1 RC1). We wrote a new help section about XML namespaces (Reference Library / General Reference / XML Namespaces Primer). That's the good change. We accidentally copied the wrong XML file into our new workspace template section. That's the evil change. Now when you try to create a new workspace you get the following error:
Did you know that any object can turned into an error handler object? An application can have one error object at any one time. That object is the object identified in the Error_Object_Id global handle. Anytime an error occurs the Error_Report event is sent to the object Id in Error_Object_Id. If you change the value of Error_Object_id that new value will become the error object and, upon an error, receive the Error_Report event. Thatís all there is to error handling.
In his article, Visual DataFlex 15.1 Sneak Peek - XML Changes, Sonny Falk, explained that Visual DataFlex 15.1 will be using a newer XML parser (msxml6), which will allow you to perform schema validations on your documents. In addition to this weíve made some changes in our packages which optimizes XML processing. These changes, which are not related to the new XML parser, were instigated by a recent forum discussion dealing with XML performance. Andrew Kennard uploaded an XML document and some
In my recent post And here is another fine fix Iíve (almost) gotten us into I attempted to present some of the issues we face any time we make changes in our product. I purposefully chose a sample that appeared to be simple and easy to change but then turned out to be neither. As software designers and developers we've all encountered this. This was meant to illustrate the kind of processes we all go through and the issues we all face as we work to improve our product. While the story was about
Updated 26-Oct-2009 at 12:49 PM by Dennis Piccioni
In prior articles weíve discussed the basics of constraints. Now it's time to put them all together. Before we get started let's review what we've covered so far.
Constraints and Local Variables discusses how constraints work. While the main purpose of the article was to talk about how local variables should be used within OnConstrain, it provides the basics for how constraints are built explaining the relationship between OnConstrain and Rebuild_Constraints.
Using Expressions and Properties in Constraints
Today we set out to answer the age old question of:
Should a child be judged by the sins of their parent?
In my previous article Using Expressions and Properties in Constraints we talked about how constraints are inherited. In addition to any constraints that may be applied directly in a main Data Dictionary Object (DDO) that main DDO will also acquire the constraints from its parent DDOs. If this is not clear, you might want to review that article before proceeding.
Should a child be judged by the sins of their parent?
I want to tell you a story about upgrading software. I think you might find the situation familiar.
With the introduction of the 12.0 Studio we introduced a new Property Panel. We made the Studio smart enough so that it could look at a propertyís data type and meta-data tags and figure out how best to present the data. In the case of boolean properties that data would be displayed using a drop down box containing a value for "True" and "False". This worked great but there were
There was a recent forum thread suggesting that the Studio's codesense should provide assistance with index selection for the Find command. We noted that this suggestion actually was implemented but that it was implemented in a slightly different manner. As expected a lively discussion ensued. This presents a good opportunity to discuss how we implement suggestions. We can use this suggestion as an example.
The suggestion was that codesense should pop up a list of all available indexes
There was a recent forum thread asking about adding an extra feature to one of our standard controls. It was noted that this could be done as evidenced by this feature being part of the Visual Report Writer. This resulted in the following question:
This is not the first time DAW have used classes in the development environment over the years that they have a reluctance to publish to us mere mortals.
Is there any reasoning behind this?
A question was asked on the forum about the best way for a view and a dialog to communicate.
What is the best way to pass data back and forth between views and dialogs?
Lets say I have a custom dialog (not a lookup) that I want to use to get information from the user. Maybe there is more than one item of data that need to be returned, like an X and a Y coordinate.
How do I make it so that multiple views in my program can query this dialog and get the information
In Sonny Falkís blog about constraints and local variables he noted that you should never use local variables inside of a Constrain As expression. In talking about Constrain As he states:
You constrain against an expression, and the expression can be anything at all, including function calls executing DataFlex code and everything.
Letís explore the use of Constrain As to call DataFlex functions and uncover one of the little secrets of inherited constraints.
Constraints and User
Updated 14-Aug-2009 at 08:36 AM by Stephen W. Meeley
In Visual DataFlex 14.0 we made a major change in the way we size dialogs. Instead setting a size based on the dialog's outer window size, we sized it based on the Client Area Size. It might be worth explaining how we came about making the Client Area Size change.
We recognized that moving Views and modal panels to Windows Vista was going to create the exact same size issues that occurred when developers moved the applications up to Windows XP. In both cases either borders or caption
Updated 27-Jul-2009 at 02:14 PM by Development Team