If this is your first visit to our forums, welcome!
What do you need to do when you want to enrich your web application with some charts? First of all it is important to find data that let itself nicely present in a chart but you probably have that else you won't be interested in reading this blog. Then you need to decide what kind of chart you would like to use. Do you want a pie, a bar or a line graph? Dealt with this it is time to find a good API, a good tool that you can use. There are many solutions available on the web. For this blog I used ...
Updated 2-Dec-2013 at 02:28 AM by Vincent Oorsprong (Images enlarged)
Are Visual DataFlex projects that use one of the Data Access CLI connectivity kits (DB2 Connectivity Kit, ODBC Connectivty Kit and Microsoft SQL Server Connectivty Kit) vulnerable for attacks described as SQL Injection? From time to time we get this question because people read about SQL injection and with the CLI drivers you talk via ODBC to an SQL based server. To answer this question correctly one first needs to understand what SQL injection really is. Let's look what Microsoft ...
Updated 13-Feb-2011 at 03:01 AM by Vincent Oorsprong
Linking from another site to a specific page at your site, informing people about the specific topic at your website in a magazine or an e-mail (newsletter) can be done in different ways. One of the ways involves using the full URL like: http://www.dataaccess.eu/News.asp?pageid=2174. This works but the downside of such an URL are: The URL is too longPeople will make typing errors causing them not to go to the desired pageIf the page is deactivated over time dead links ...
Updated 2-Dec-2013 at 02:32 AM by Vincent Oorsprong (Images enlarged)
Imagine you are an end-user and you have the order entry view open. The screen is empty, what to do now? Of course you need to select an existing order or create a new order before you can go the data entry grid and enter order detail lines, but what if you do not know this? Wouldn't it be nice when the screen gives you some hints and tips? For example a text like: "You can enter this order detail grid after you selected an existing order or created a new order in the top half of the screen."? ...
Updated 2-Dec-2013 at 02:33 AM by Vincent Oorsprong (Images enlarged)
Through Report Designer Component (RDC) you manipulate objects and their properties, and use events and methods available in those objects. You can read more in the Help on the page Understanding the RDC Object Model (under Reference Library | Crystal Reports Development). Because of that, there might not be a direct way to change something in cCrystal like it was in the old CrystalReport class, i.e. by simply setting a different property in cCrystal; you will have to find what you ...
Visual DataFlex supports bitmaps and icons in the standard controls. If you have other graphic format files (like TIFF, GIF, JPEG, PNG etc) you need to use either an ActiveX object, a DLL that does it for you or use the Graphics Library free available for download. For the CodeJock Report Control based Grids in Visual DataFlex 16.0 and higher it is a different case. This blog tells you how to use the popular graphics formats in the grid. psImage When you want to display an image ...
Updated 1-Sep-2011 at 11:55 AM by Vincent Oorsprong
When a column contains a NULL value, its content is undefined. if you are using Visual DataFlex commands/methods, the Connectivity Kit has ways (e.g. DF_FIELD_IS_NULL) to deal with return values and take care of NULL values for you. Now, if you are using Embedded SQL (ESQL), you have direct access to what is stored in the SQL backend and will need to take care of NULL values yourself, otherwise you might see gibberish when the value returned is NULL -- and NULLs can be anything! In ...
Updated 13-Apr-2022 at 10:02 AM by Marcia Booth
From time to time the question arises "how can I terminate my program when no activity took place?". Visual DataFlex offers two features named DFTIMER and cIdleHandler but both do not really cover the topic. Let us look closer at these two options and find a real solution. A Timer (DFTIMER) A timer (DFTIMER) fires a message every NN milliseconds no matter there is activity or not. In the list of tables treeview in Database Explorer we use an object of this class ...
A typical Visual DataFlex Windows application is an MDI application. The MDI contains of a panel with a menu bar, one or more tool bars, a status bar and a gray area called the client area. It is the client area that provides support for MDI children, the (db)Views, (db)ReportViews. Prior to Visual DataFlex 12.1 when we introduced the use of CodeJock Commandbars you could retrieve the size of the client area via the GuiSize built-in function call used for the oClientArea object. ...
When using the database Connectivity Kits, developers may choose to use embedded SQL (ESQL) in their applications to take advantage of the database server capabilities and set processing. In ESQL you can execute many different statements either one by one or in batches. So, how can batch statements be used in Visual DataFlex? What are Batch Statements A batch of SQL statements is a group of two or more SQL statements or a single SQL statement that has the same effect as a group ...
We all know DataFlex is a great product to build database applications, most of the data will be entered by end-users and printed or otherwise processed. But what if you need to import data from other manufacturers? What do we have to do? Sequential I/O commands When we want to read data in a DataFlex application we can make a choice between the commands Read, ReadLn, Read_Block and Read_Hex. Of course before you can read the input stream (usually a file) needs to be opened ...
When your Visual DataFlex application makes an external call to a webservice the main program waits for its completion. If the request does not return immediately several things can be the cause. Your connection to your ISP can slow, the webserver you try to reach is busy, can be difficult found etc. If you want your application to continue as soon as possible and know (and this is the unknown keyfactor) that particular call should not take more than a couple of milliseconds to complete you can ...
Updated 3-May-2019 at 09:52 AM by Vincent Oorsprong
UAC, short for User Access Control, the feature built in Microsoft Windows Vista and higher is turned off by a number of users and developers because they do not like that the operating system asks for permission to write or access certain areas of their environment. Building your applications you are however advised not to do this because sooner or later you will install your not UAC compliant application at a UAC controlled PC and that is not goo. How can you find out if UAC is ...
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... ...
The other day I received an interesting question from a developer about [I]argument_size[/I] and web services. Specifically he wanted to create a web service in VDF that accepts a file attachment along with some other metadata for the file. It would look something like this (actual code modified for brevity): [code] Struct tAttachment String fileName String comment ... String fileContent End_Struct ... ...
We're continuing the back to the basics theme for advanced VDF developers by visiting the other side of [I]External_Function[/I]. If you haven't done so already, you should [URL="http://support.dataaccess.com/forums/blog.php?b=84"]read the first part[/URL], it's a prerequisite for understanding what I'm about to talk about here. Let's start with a simple DLL written in C++, exporting only one silly function [I]SayHello()[/I], which we'll call from our VDF program. The finished ...
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. [B]Column Change [/B]When a column change occurs, events are sent ...
Frank is [URL="http://support.dataaccess.com/forums/showthread.php?t=42637"]asking about a peculiar behavior with numeric masks and rounding[/URL], where it seemingly sometimes rounds the value to the specified number of decimals in the mask, but other times it seems to truncate instead. What's going on? Is this a bug? Frank demonstrated the problem in an excellent manner using a tiny program like this: [code] Use DfAllEnt Object oMain is a Panel ...
When using one of the database Connectivity Kits, how can you make your program display its own error message when a connection string is not correct? By default, an error is displayed and the database will pop up a login dialog for users to enter their correct user and password. Or the application may display an unhandled error. Hmm... not what you want to see when using either the login command or SQLConnect method. In order to have your application better handle those errors, ...
[FONT=Verdana][SIZE=2]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 [I]idle handlers[/I] part of our workshop?[/SIZE][/FONT] ...