View RSS Feed

Development Team Blog

  1. Unable to Compile Applications in the Studio?

    by , 3-Nov-2011 at 01:21 PM (Development Team Blog)
    Do you use Windows 7 or Windows Vista? Are you having problems compiling your application in the Studio? I'm not talking about compiler errors, I'm talking about the Studio reporting that it cannot delete the old application .exe file before compiling the new one! If you are seeing that problem then read on, I may have the solution (or at least a little good advice)...

    [B]System Tune Up[/B]

    Ages ago I had turned off the windows [I]Application Experience[/I] service ...

    Updated 1-Dec-2013 at 12:44 PM by Vincent Oorsprong (Images enlarged)

    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	Capture.PNG 
Views:	1397 
Size:	41.7 KB 
ID:	4706  
  2. Changing Fonts of the new CJ Grid control

    by , 27-May-2010 at 12:34 PM (Development Team Blog)
    The new Visual DataFlex grid classes in Visual DataFlex 16.0 (cCJGrid, cDbCJGrid, etc) do not expose an interface for setting the grid control's various Fonts. This turned out to be beyond the scope for the VDF 16.0 project, however it is still possible to set all of the control's fonts via the COM interface.

    For example here is how you can modify the default Font used to display data in the Grid's cells: You would write the following event handler in your grid object...
  3. Inside the Studio: DD Classes and Create New Wizards (part 3)

    by , 25-Nov-2009 at 08:09 AM (Development Team Blog)
    In the [URL=""]previous article[/URL] 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 [URL=""]part one[/URL] of this series.

    In this article I will talk about the ...
  4. Inside the Studio: Reading Workspace Paths (part 2)

    by , 13-Nov-2009 at 09:02 AM (Development Team Blog)
    In the [URL=""]previous article[/URL] 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] ...
  5. 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 ...

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

  6. 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

  7. Structs, Arrays and Optimization Strategies (Part 2 of 2)

    by , 16-Oct-2009 at 05:50 AM (Development Team Blog)
    In [URL=""]Part One[/URL] 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 ...

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

    Attached Thumbnails Attached Files
  8. 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 [I]struct[/I]. For example...

    [code]Struct tNameData
    String sName
    Date dDateOfBirth

    tNameData[] NameData // declares an array of type tNameData
    [/code]Wherever you have arrays of data like this you will inevitably need ...
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	TestParameters.jpg 
Views:	1856 
Size:	6.3 KB 
ID:	3777  
  9. Studio Modeling and Data Dictionary Files

    by , 14-Sep-2009 at 09:00 AM (Development Team Blog)
    In Visual DataFlex 14.1 we added data dictionary modeling to the Studio. This task used to be performed by the Database Builder tool.

    Database Builder used a quite primitive approach to source code modeling. It relied on special marker comments and a set of hard-coded symbols to understand how to model a data dictionary class.

    The Studio's modeler is more powerful and flexible. It properly analyzes the source code of the data dictionary file and all of the files used ...
  10. Mixing WinPrint 1 and WinPrint 2 Reports

    by , 1-Sep-2009 at 08:00 AM (Development Team Blog)
    In a recent forum message a VDF developer wrote:

    [quote]I have an issue when a client runs a Winprint II report, then goes back and runs a Winprint 1 Report in the same application. (Winprint error. Could not create a new page!)[/quote]The problem is due to this program sending instructions from a WinPrint 1 report to the WinPrint 2 DLL or visa versa.

    There are two global winprint objects. One that directs printing instructions to the WinPrint 1 DLL and one that directs ...
  11. Improved Studio recognition of Property Values

    by , 13-Aug-2009 at 06:14 AM (Development Team Blog)
    With Visual DataFlex 2008 and above, you no longer need to use meta-tags to declare every change to a property's initial value in a class declaration. Take a look at the following example:
    Class cCloseButton is a Button
    Procedure Construct_Object
    Set Label to 'Close'
    End_Class[/code]Prior to version 14.1 if you created this cCloseButton class and add it to a view in the Studio's Visual Designer the label doesn’t appear. To ...
  12. Precompilation in Visual DataFlex - Set it and Forget it!

    by , 27-Jul-2009 at 02:03 PM (Development Team Blog)
    During the development of Visual DataFlex 12.0 we modified the compiler to track any changes to source code that belong to a precompiled package. For example, let's say you have a precompiled package (MyPrecompile.pkg) and one of the files used by MyPrecompile.pkg was edited since it was last precompiled. Now, when you go to compile a project that uses this precompile, the Compiler would detect the change and raise an error that the precompile is out of date.

    This was a good change ...