View RSS Feed

Development Team Blog

  1. We could answer your question, but then wed have to kill you

    by , 10-Dec-2009 at 07:00 AM (Development Team Blog)
    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 Users Forum. Lets explore these three ...
  2. Introducton to XML Schemas

    by , 8-Dec-2009 at 09:00 AM (Development Team Blog)
    New to Visual DataFlex 15.1 is XML Schema support, which is cool, but what if you don't know the first thing about XML Schemas?

    Your first exposure to XML Schemas will most likely be a schema created by someone else. Perhaps you're expected to produce XML documents conforming to the specified schema. If you're lucky you will have been given an example of the document you're supposed to produce from your program, and maybe you can cheat a little and follow that instead of understanding ...

    Updated 9-Dec-2009 at 01:48 AM by Sonny Falk

    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	schema-header.png 
Views:	1067 
Size:	5.5 KB 
ID:	3787   Click image for larger version. 

Name:	schema-collapsed.png 
Views:	1086 
Size:	7.6 KB 
ID:	3788   Click image for larger version. 

Name:	schema-simpleType.png 
Views:	1075 
Size:	9.1 KB 
ID:	3789   Click image for larger version. 

Name:	schema-complexType.png 
Views:	1114 
Size:	14.2 KB 
ID:	3790   Click image for larger version. 

Name:	schema-element.png 
Views:	1163 
Size:	17.9 KB 
ID:	3791  
    Attached Thumbnails Attached Files
  3. Play the VDF15.1 RC1 Quiz

    by , 4-Dec-2009 at 02:17 PM (Development Team Blog)
    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:

  4. What's a crash, anyway?

    by , 1-Dec-2009 at 02:02 PM (Development Team Blog)
    A program crashing is something we're all painfully familiar with, but what does it really mean? [I]Crash[/I] can mean different things to different people, sometimes people even use the term [I]crash[/I] when referring to different types of problems at different times. It's often used loosely to mean anything from "the operating system rudely terminated my program", or simply "an error message was displayed (fatal or non-fatal)", or "the program stopped responding to user ...
    Tags: sonny falk
  5. Inside the Studio: DD Classes and Create New Wizards (part 3)

    by , 25-Nov-2009 at 08:09 AM (Development Team Blog)
    In the previous article I explained how to access the workspace paths in a Create New wizard. The information is retrieved via the Studio Workspace file (.sws) that is passed to the wizard via a temporary config file. Accessing the wizard's temporary config file is explained in part one of this series.

    In this article I will talk about the DDClassList temporary file that is also created before the wizard is launched. The DDClassList file contains information about each data dictionary ...
  6. Why Some Files Are Not Migrated to the Latest VDF Revision

    We try to make migration from any Visual DataFlex revision to the latest revision as smooth as possible for our developers, but one migration-related question has come up repeatedly in the forums: "Some of the files in my workspace didn't get migrated. What's going on?"

    The migration wizard uses the same code parser that the Studio uses to determine what to migrate. As Sonny recently discussed in his blog Under the Hood: The Studio Parser, most source code files are not autonomous, ...
  7. Inside the Studio: Reading Workspace Paths (part 2)

    by , 13-Nov-2009 at 09:02 AM (Development Team Blog)
    In the previous article I introduced the config file that the Studio generates each time it launches a Create New wizard. The name and path of this config file is passed to the launched application and the file contains information about your project that is useful to a Create New wizard application.

    In this article I will talk in more detail about one particular section of data in the config file: the [Workspace] section.

    Disclaimer: The information presented here describes ...
  8. Inside the Studio: Passing Data to the 'Create New' Wizards (part 1)

    by , 11-Nov-2009 at 10:53 AM (Development Team Blog)
    Have you ever wanted to write your own wizard and add it to the Studio's Create New dialog?

    Adding a wizard application to the Create New dialog is managed by the "Configure Create New" option in the "Tools" menu. That is the easy part, But how can your wizard access the important information about your workspace that it needs in order to do anything useful? Come to think of it, how do the "standard wizards" get the Studio to open the files that they just created once they are done? ...

    Updated 12-Nov-2009 at 02:11 PM by John van Houten

  9. In their own special way, all objects are error handlers

    by , 9-Nov-2009 at 07:00 AM (Development Team Blog)
    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. Thats all there is to error handling.

    Most framework ...
  10. RunProgram: Possibly the most misunderstood command ever

    by , 5-Nov-2009 at 09:00 AM (Development Team Blog)
    This poor command has been around in Visual DataFlex for as long as anyone can probably remember. Every VDF developer knows about this command, yet it's so often misunderstood and a frequent subject in the forum. It's actually pretty well documented, the documentation was even improved a few revisions back when the command was also enhanced for smoother operation in Vista. But probably because it's so well known, you rarely consult the documentation. So I'll provide a quick primer for this command, ...
  11. Visual DataFlex 15.1 - XML Optimizations

    by , 27-Oct-2009 at 12:00 PM (Development Team Blog)
    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 weve 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 ...
  12. Another Fine Fix - The Sequel

    by , 23-Oct-2009 at 08:00 AM (Development Team Blog)
    In my recent post And here is another fine fix Ive (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

  13. Hot Keys without On_Key (updated)

    by , 21-Oct-2009 at 07:12 AM (Development Team Blog)
    The Visual DataFlex On_Key command is the recommended technique to use when creating Hot Key assignments in your application. But there are certain key combinations that are not available to the On_Key command. For example the CTRL+SHIFT+TAB key combination cannot be assigned using On_Key.

    Ever since Visual DataFlex 12.1 there is an alternative way to assign a hot key by using the cCJAction class. This class is part of the CodeJock commandbar set of wrapper classes and supports a property ...

    Updated 20-Nov-2009 at 01:28 PM by John van Houten

  14. Visual DataFlex 15.1 Sneak Peek - XML Changes

    by , 19-Oct-2009 at 08:00 AM (Development Team Blog)
    By the time this gets published, Visual DataFlex 15.1 is just about to enter Beta testing. One of the cool new things is that XML support has been updated. The changes include an internal update of the underlying MS XML standard Windows library to msxml6. And perhaps the most requested new feature is support for XML Schema validations.

    These changes to the XML classes can be taken advantage of immediately as you update to VDF 15.1. From a code perspective you still use the same classes ...
  15. Structs, Arrays and Optimization Strategies (Part 2 of 2)

    by , 16-Oct-2009 at 05:50 AM (Development Team Blog)
    In Part One I described the problem of performing lookups for each member of an array and how to use a cache when performing lookups repeatedly with multiple arrays sharing mostly the same members.

    We left part one after describing a caching technique that required further optimization. In this article we will explore different array searching techniques, using the built-in VDF Search Array functions, to optimize our cache algorithm.

    Third Strategy: Using a VDF SearchArray ...

    Updated 26-Oct-2009 at 11:44 AM by John van Houten

    Attached Thumbnails Attached Files
  16. Structs, Arrays and Optimization Strategies (Part 1 of 2)

    by , 14-Oct-2009 at 09:52 AM (Development Team Blog)
    A common programming problem is the need to process sets of data that are not part of your database. Typically sets of data that are stored in arrays. If the data is structured then you would use arrays of type struct. For example...

    Struct tNameData
        String sName
        Date dDateOfBirth
    tNameData[] NameData    // declares an array of type tNameData
    Wherever you have arrays of data like this you will inevitably need to search the array. ...
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	TestParameters.jpg 
Views:	1100 
Size:	6.3 KB 
ID:	3777  
  17. Byref Explained

    by , 12-Oct-2009 at 08:00 AM (Development Team Blog)
    [I]Pointer[/I], [I]byref[/I], [I]AddressOf()[/I], what's the difference between [I]byref[/I] and [I]Pointer[/I] anyway? If you know C++ you might say that by-reference is semantically very similar to a pointer but with different syntax. In Visual DataFlex, [I]byref[/I] and [I]pointer[/I] are actually used for different purposes.

    This is best illustrated with [I]String[/I], consider the following code:

    Use DfAllEnt.pkg

    Procedure Foo String ...
  18. Conditional Constraints

    by , 8-Oct-2009 at 08:00 AM (Development Team Blog)
    In prior articles weve 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 ...
    Tags: john tuohy
  19. Arrays & Structs in-depth - Conclusion

    by , 6-Oct-2009 at 08:00 AM (Development Team Blog)
    To wrap up this multi-part series about arrays and structs I'll highlight a few key areas and answer some questions that came up.

    [URL=""]Part I[/URL] starts by showing the basic use of structs and arrays, how they can be used together and as parameter & return types.

    [URL=""]Part II[/URL] discusses how sorting and searching works with native arrays. ...
  20. Inherited Constraints

    by , 2-Oct-2009 at 09:00 AM (Development Team Blog)
    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. ...
Page 6 of 8 FirstFirst ... 345678 LastLast