If this is your first visit to our forums, welcome!
In this short blog I want to show you how you can make a line around the output of your Visual Report Writer report. Visual Report Writer does not have a box - or a line - object that can go over multiple sections. The development team has granted to need for such a feature and will implement this via a page layer. In general: objects should not go over sections. A Fake Box What is a box? A box is a rectangle consisting of two horizontal and two vertical lines. This means it is ...
Updated 19-Aug-2012 at 05:10 AM by Vincent Oorsprong
In a recent post at the forums the question was given how to make use of a recursive struct. Years ago I wrote a training manual about Structs and Arrays and in one of the exercises the trainees had to write a routine that could read the files in a folder from a disk. A folder can have 0-N files and 0-N sub-folders. In this blog I will explain you how you can build the code to read the information using arrays and structs. Nested Structs Because a folder can have 0-N files and ...
In this blog I will show you how you can limit the amount of time that an application can call a webservice function. It is a small contribution to security and helps you against unwanted webservice calls. SOAP Headers A SOAP based WebService call always contains a body section and optionally can contain a header section. The use of a SOAP header section on both the Visual DataFlex server as well as client side is good documented in the help provided with the product. The good ...
Updated 31-Dec-2011 at 07:59 AM by Vincent Oorsprong (Made a link to the conversions library)
A couple of weeks ago in a Discovering Visual DataFlex training one of the trainees stumbled over a problem caused by the Current Directory. In this blog I tell you more about the problem and what the Current Directory has to do with it. The Problem In the case that let me make this blog a dbBitmap control was used to display an image. A dbBitmap control is a database aware control so the name of the image file is stored in a column of a row in a table. Pictures can be in a folder ...
This week I had the need for a selection list with e-mail addresses that are stored in my Microsoft Outlook address book(s). So I created one. This blog explains in steps what you need to do to make one as well. The blog is based on version 16.1 of Visual DataFlex. If you do not have that version you cannot create the component. The Selection List One of the enhancements of Visual DataFlex 16.1 is a cCJGridPromptList class which offers a selection list that is not getting its ...
About a year ago (November 2010) I posted a blog about how to use other graphic formats in the headers of a cCJGrid. A couple of days ago there was a request about how to use other graphic formats in the grid itself. While all the information is in the one-year-old blog I feel you all want to see an example on how to do this. So that is what this blog is about. In the previous blog I started with describing a column named oYellowCards. The blog was written shortly after the 2010 World ...
Updated 2-Dec-2013 at 02:21 AM by Vincent Oorsprong (Images enlarged)
I have setup a USER DSN in the ODBC Manager (Data Sources) which points to an Microsoft Access demodata database. Now I want to connect to this database with Data Access's Visual Report Writer and with Visual DataFlex Studio. In Visual Report Writer I simply cannot get past the selection of the DSN and in Visual DataFlex Studio I get a "Unable to Login to Server!" message. What is wrong? I thought DataFlex could connect to ODBC databases, isn't that true? If I use Microsoft Excel from Microsoft ...
This week two developers asked me about a folderbrowser/selector. Over the years several solutions have been created (fully) using the Windows API. But as far as I know they all do not have the ability to set the focus on a certain folder shown in the tree. And that is what the developers wanted to have. I said it is "simple" to make a folder selector yourself. This blog tells you how you can create one yourself using Visual DataFlex code and a bit Windows API code. The Dialog ...
Updated 2-Dec-2013 at 02:23 AM by Vincent Oorsprong (Images enlarged)
In almost every Visual DataFlex MDI Windows Application you have a statusbar. The statusbar is usually drawn at the bottom of your panel and is divided in one of more panes. Usually the first pane is reserved for statushelp. This blog tells you how you can change the appearance of a CodeJock statusbar and its panes. Font Changing the appearance of the statusbar means changing font attributes. The font settings of the statusbar and its panes are not exposed directly via properties ...
If the program you write starts a task of which you know it will take some time it is important to indicate this to the user. You can do this by making use of the cursor_control object. The cursor_control object is an instance of the CursorShape class and created if you add: Code: Use DfCursor.Pkg to your code. Once the object is instantiated you can send the message cursor_wait to the object and you will see the mouse cursor changed from the I-beam or the arrow to a hourglass ...
Use DfCursor.Pkg
Updated 22-Apr-2011 at 01:55 AM by Vincent Oorsprong
This is the third blog article about getting more out of the web browser control. In comments I have been asked to show code that uses the web browser control. In the first blog I mentioned that the web browser control is used in a welcome dialog for Database Explorer. Let's review the code for that dialog in this blog. The dialog Let's look at the dialog again, the picture shows how it looks like. ...
Updated 2-Dec-2013 at 02:25 AM by Vincent Oorsprong (Images enlarged)
This blog teaches you how to write code to get a list of all the modules in use by the current process. This information is useful when you want to know if a certain module (DLL, OCX) has been loaded or not. It is a kind of debugging information. I would not advise you to add this in each and every program. To make a list of modules we need a couple of Windows API functions. First we need to get the ID of the current process (that it your executable). You can retrieve this by calling ...
Updated 15-Apr-2011 at 12:29 PM by Vincent Oorsprong (CloseHandle Function added)
If you are in a need to have a unique ID in your application you might want to make use of a Universally Unique IDentifier (UUID). The term UUID is interchangeable with GUID (Globally Unique ID). A UUID is a string that contains five blocks of hexadecimal digits. The Windows API has functions for this and in this blog I show you how to create UUIDs in Visual DataFlex. An example of a valid UUID string is: 2CA263F1-5C94-11E0-84CC-002170FBAC5B. As you can see it consists of 8 hexadecimal ...
Since the introduction of COM in Visual DataFlex, around Visual DataFlex version 5, there has been a example application that contains an ActiveX object that represents Microsoft's Internet Explorer. In the example, that loads a default web-page, you can enter another address, click on a hyper-link which loads a new page, go back or forward, all the usual operations you can do with Internet Explorer itself too. While this example is good you can do much more and this blog is informing you about ...
Updated 2-Dec-2013 at 02:27 AM by Vincent Oorsprong (Images enlarged)
The ComboForm class is part of the Visual DataFlex product since it was introduced in 1996. The control is also called a drop-down box and combines a single value entry control with a list of options. By setting the property Entry_State to false you turn the control into a select only list, users can rotate through the values with a arrow-down/arrow-up keys and open the list by clicking on the arrow on the right. Usually the list is static and does not extend during the program run. ...
This blog informs you about the Data Source selection in Visual Report Writer. Visual Report Writer is a product created by Data Access Worldwide and fully written in Visual DataFlex. For this blog I used version 1.4 which was released in 2011. If you did not try or saw the product before you can download and try the report writer freely for 60 days. I also advise you to visit the Data Access Synergy conference in Orlando (March 30 - April 1); we will show the product there and organize a special ...
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)