<< FreeOTFE Windows GUI 1

 

C and C++ Compilers>>


 

STEP-BY-STEP ON BUILDING THE FreeOTFE GUI

USING BORLAND DELPHI FOR WIN 32 Part 2

 

 

The next step is to build the real GUI. As said in the Build Notes, open the GUI main project as shown below.

 

Opening the real FreeOTFE GUI project

 

Figure 22: Opening the real FreeOTFE GUI project

 

You can see the whole files been loaded. If there are missing file(s), error message will be displayed.

 

The real FreeOTFE GUI project been loaded

 

Figure 23: The real FreeOTFE GUI project been loaded

 

Let check the project options to make sure all the needed packages have been installed/registered. The steps are shown below (as done previously).

 

Checking the real FreeOTFE GUI project options

 

Figure 24: Checking the real FreeOTFE GUI project options

 

Well. They are there!

 

A list of the installed packaged seen in the real FreeOTFE GUI project option page

 

Figure 25: A list of the installed packaged seen in the real FreeOTFE GUI project option page

 

Next, check the path for the installed/registered library as mentioned in the Build Notes. They should be there as shown in the following Figures.

 

The Invoking the Borland Delphi for Win32 project options

 

Figure 26: The Invoking the Borland Delphi for Win32 project options

 

Click the three dots at the end of the Library path: field and scroll down.

 

The Borland Delphi for Win32 library paths

 

Figure 27: The Borland Delphi for Win32 library paths

 

Yours should be different because it depends on the location of the files/folders for the building and running previous demo project.

In our case we put the SDeanComponents and the FreeOTFE folders (containing the source files) under the same folder. We just do the re-check here, nothing changes were made so just close all the dialog boxes.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The Borland Delphi for Win32 directory paths

 

Figure 28: The Borland Delphi for Win32 directory paths

 

Let build the real FreeOTFE GUI. Optionally we just check the syntax as done previously. We can know any error(s) and try to correct it at this stage if possible. So, select the Project Syntax check FreeOTFE menu as shown below.

 

Checking the FreeOTFE syntax

 

Figure 29: Checking the FreeOTFE syntax

 

ARRRRRRRRGGGGGHHH!!! We have 1 error lor! Click the OK button to dismiss the Compiling dialog box message. Check the Messages window at the bottom.

 

An error message during the compiling step

 

Figure 30: An error message during the compiling step

 

Well, what the heck???

 

The error description seen in the Messages window

 

Figure 31: The error description seen in the Messages window

 

After checking the documentation. We found that some files not included in the built packages. We don’t know the exact problem here however this may be caused by the debug version of the SDeanComponents packages used and our default Delphi project settings.

In this case we need to reopen the previous package’s project and rebuilt (re-Build and re-Install or just re-Install) for the affected package only. The error indicates the MSCryptoAPI.dcu file. So, we just re-included the project (.pas) for the effected package only as shown below. Before that you need to close this real GUI FreeOTFE project without any saving and re-open the previous package’s demo project. The MSCryptoAPI.dcu is in the SDeanSecurity package. Keep in the mind that this re-build (re-compile, re-link) step is a typical step that need to be done many times for the Debug version until all the error(s) and warning(s) completely vanished. Well, though there are no warning(s) and/or error(s), we still have logical error(s) where the program run smoothly but the output is not as expected. Forget about it at this moment.

 

Follow the following steps to re-include the project files.

 

Re-opening the SDeanComponents package

 

Figure 32: Re-opening the SDeanComponents package

 

Re-include the SDeanSecurity component project file (*.pas) as shown in the following Figures. Select the Contains sub-folder under the SDeanSecurity.bpl package and right click. Then select Add… context menu.

 

Re-adding the SDeanSecurity unit file

 

Figure 33: Re-adding the SDeanSecurity unit file

 

Browse the related project file. In this case based on the previous error we re-include the MSCryptoAPI.pas project file as shown below.

 

Re-adding the SDeanSecurity’s MSCryptoAPI project file

 

Figure 34: Re-adding the SDeanSecurity’s MSCryptoAPI project file

 

Then re-Install the package as done previously.

 

 

 

Re-installing the SDeanSecurity package

 

Figure35: Re-installing the SDeanSecurity package

 

We found that all the missing files are under the SDeanSecurity package. Another example is shown below when we rebuild the real GUI. So, it is convenient for you to re-include all the project files (*.pas) under the SDeanSecurity package and then re-Install the package only so that no need for you to rebuild the package through the demo version, save and close the project then re-open the real FreeOTFE GUI project, rebuild and encountering another error, close this project and then re-open the demo project...bla…bla…bla...

 

Encountering another error during the Install step

 

Figure 36: Encountering another error during the Install step

 

Finally after re-Install the SDeanSecurity package (re-including all the project file), we Save All and Close All the package demo program. Then re-open the real FreeOTFE GUI program.

Next we directly rebuild (bypassing the optional Syntax check step as done previously by assuming all the SDeanSecurity package file missing error vanished) the real GUI program by selecting Project Build all projects menu as shown below.

 

Building all the FreeOTFE GUI project

 

Figure 37: Building all the FreeOTFE GUI project

 

Unfortunately, we encountered errors! We need to correct this error else we can’t build this program. From the Messages window we ‘suppose’ to have two errors each in different two files. Obviously, these are syntax errors, related to the source code itself and we confirmed here that our packages building are successful (though contains a lot of warnings :-)).

 

Syntax error found in the FreeOTFEfrmCDBDump source code

 

Figure 38: Syntax error found in the FreeOTFEfrmCDBDump source code

 

We try to find the reason(s) why the error occurred. From the context help we aware that the number of parameter is not matched. The declaration has four (4) parameters while the error code contains only three (3) parameters. So the third parameter (System.Boolean type) is missing.

 

Finding a solution for the syntax error found

 

Figure 39: Finding a solution for the syntax error found

 

More online help in finding a solution

 

Figure 40: More online help in finding a solution

 

 

Figure 41: The online help for the function definitions

 

Without digging any further regarding the real working of the program and by considering the Boolean value (TRUE/FALSE) is not critical, we just add the FALSE (or TRUE) value as the third parameter shown below. To understand the program working, you need to dig and learn the Borland Delphi documentations.

 

Next we re-do the Syntax check again (or you can re-build the project directly).

 

Adding a FALSE Boolean value

 

Figure 42: Adding a FALSE Boolean value

 

Re-do the syntax checking for the FreeOTFE’s GUI project

 

Figure 43: Re-do the syntax checking for the FreeOTFE’s GUI project

 

We encountered another error as red highlighted in the following Figure. You can see the error message in the Messages window at the bottom. When you double click any error message in the Messages window, the error location will be red highlighted in the source code for the respective file.

 

Another syntax error found, missing another parameter

 

Figure 44: Another syntax error found, missing another parameter

 

In this case, the definition has two (2) parameters while the code in the line has only one (1) parameter. We are missing the second parameter. The type (namespace) is similar to the previous error, System.Boolean and it is just whether to show the progress or not for the process. So we add the TRUE Boolean assuming to show the progress (may be shown in the form of progress bar) of the process. Both errors appeared in different files and as proper programming job, in the release version or for production, we need to declare a new variable of System.Boolean type and use them as usual.

 

Adding the TRUE Boolean value to the function parameter

 

Figure 45: Adding the TRUE Boolean value to the function parameter

 

Finally we re-build our FreeOTFE project and no more error lor!

 

So we are ready to run this program by selecting the following menu as usual (Debug mode or version but without debugging so that the running of the program will not stop until the end of the code reached and any error(s) and/or warning(s) generated).

 

After successfully re-building the FreeOTFE GUI, we are ready to run the program without debugging

 

Figure 46: After successfully re-building the FreeOTFE GUI, we are ready to run the program without debugging

 

And the winner is, we successfully build the FreeOTFE GUI. The displayed error is normal because we just run the GUI, of course the driver is not installed. Just click the OK button to dismiss the error message and you can browse around the FreeOTFE menus to see the functionalities.

 

 

 

 

 

 

 

 

 

 

 

 

 

Well, the FreeOTFE GUI successfully run

Figure 47: Well, the FreeOTFE GUI successfully run (of course without the driver loaded)

 

The following Figure shows FreeOTFE GUI in action.

 

FreeOTFE GUI in action

 

Figure 48: FreeOTFE GUI in action

 

The moral of the story, we found two errors, hundreds may be thousand warning messages though we successfully build the GUI.

The next stage is compiling the driver for Windows using Microsoft Visual C++ and we pass the ‘baton’ to you to complete it or to try it. Very nice program huh!

 

 

 

 

 

 


<< FreeOTFE Windows GUI 1

C and C++ Resources

C and C++ Compilers>>

 

FreeOTFE Windows GUI 1 | FreeOTFE Windows GUI 2 | Single Page pdf