Using Delphi Firedac to compact and repair a MS Access Database.

Rad Studio Delphi Development
Over the years Delphi Firedac continues to grow as a robust programming language. Delphi Firedac provides a new way to compact and repair a database. The tools provide developers with components or services that create superb applications. Delphi Firedac provides a unique set of Universal Data Access Components for developing multi-device database applications. This will show the older method of compacting and repairing MS Access databases. The code listed below demonstrates the process. Very straight forward you need to create the object, populate the commands and you are ready to go. function CompactAndRepair(DB: string): Boolean; var v: OLEvariant; begin Result := True; try v := CreateOLEObject('JRO.JetEngine'); try V.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DB, 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DB+'compacted;Jet OLEDB:Engine Type=5'); DeleteFile(DB); RenameFile(DB+'compacted',DB); finally V := Unassigned; end; except Result := False; end; end; Delphi Firedac now has…
Read More

Gotchas when using Delphi Update

Rad Studio Delphi Development, Software development Concepts
Sometimes when you are programming using Embarcadero Delphi you will come up with a few Gotchas. These are not bugs but more as a pain. Initially you create an application in a debug mode while you are testing the code. You have a icon for the application making it look professional and just go to the release state. The icon may or may be what you expected. Your debug application has the correct icon but your release doesn't. Pretty strange but Windows keeps an icon cache. The simple thing would be to rename your executable and suddenly it looks good. You wonder why Windows would do that ? It is Windows and you have to live with that. Click on this link to see what else you can do to…
Read More

How to restart a VCL Delphi application while using a Mutex

Rad Studio Delphi Development
How to restart a VCL Delphi application while using a Mutex. This article puts all of the research in one single page. Using a mutex prevents multiple application instances from occurring. You may wonder why would you wish to restart an application. It doesn't mean there was a software defect in the code. Application settings have changed. What is a mutex A mutex object is a synchronization mechanism designed to ensure mutually exclusive access to a single resource that is shared among a set of kernel-mode threads. Using a mutex can ensure that there is only one instance of your application executing. A unique name should be used when starting the application. The simplest way is to use your application name and/or a shorten name that would be unique when…
Read More

Terminating an Application when using Delphi

Rad Studio Delphi Development, Software development Concepts
Sometimes there are reasons to terminate an application due to unforeseeable issues and there has been a lot of talk how to handle this event. Let's go over a simple application and break down what needs to be done. Go to the code The initial code opens up a splash screen, displays it and finally releases it after a few moments. Splashscreen.Show; Splashscreen.Update; Sleep(2000); Splashscreen.Free; Application.Initialize; The application defaults are set with the title and the help file as well as creating the data module along with the login screen. Application.DefaultFont.Name := 'Arial'; Application.MainFormOnTaskBar := True; Application.Title := 'Application Name'; Application.HelpFile := ExtractFilePath(Application.ExeName) + 'Help.CHM'; Application.CreateForm(TDM, DM); Application.CreateForm(TfrmLogin, frmLogin); The application at this point will open up the login screen allowing the user to enter their information. The license is…
Read More

Importance of Cyber security

Rad Studio Delphi Development
Data Security can no longer be a requirement of the IT Department. It is vital that the entire company that are within the network be on their utmost watch. Cyber security rules and staff must be in place as of today. Data Breaches Watching current events there has been reports where ransomware took over the data center. Freezing out the IT department by locking out the entire company from accessing data. Cyber security measures tend to stop malware from destroying property. Users need to be aware that a simple click on an attachment can release malware onto the network. Educating users on using safety first rules will help in protecting the environment. Steps on handling internal security Here are some steps on setting up cyber security within your environment: Check…
Read More