Returns a directory path for the data shared:
- between all the users of the computer.
- between all the TSE users.
This directory can be used without restriction in Windows XP, Vista, ... This directory is used to store:
- the files for the general configuration of the application (.INI files, .XML files, etc.).
- the data files common to all the users (HFSQL.fic, .ndx and.mmo files).
This directory is automatically created if it does not exist.
Remark: From version 19, HFSQL is the new name of HyperFileSQL.
// Create a configuration file
fCreate(CompleteDir(fDataDirCommon()) + "MyApp.ini")
// In Windows 7 (and later), the file will be created in test in:
// C:\ProgramData\WINDEV applications\WD TreeMap\
<Result> = fDataDirCommon([<Options>])
<Result>: Character string
Path of the directory to use for the shared data of an application. The result returned by this function differs in test mode and at run time:
- in test mode: <Common base directory of users>\<Application data>\WINDEV Applications\<Project name>
- at run time: <Common base directory of users>\<Application data>\<Company name>\<Executable name>
Remark: the name of the company is specified when creating the executable. If this name is not specified, it is replaced by "WINDEV applications"
: In Windows 98 and Me, <Result> corresponds to the runtime directory of the application (also returned by fExeDir
<Options>: Optional constant
Indicates whether the directory must be created or not:
|The directory is created if it does not exist.|
|fddWithoutCreation||The directory is not created if it does not exist.|
Programming standard in Windows XP, Vista and later
To increase computer security against worms and viruses, the UAC mechanism
(User Account Control) was implemented by Windows Vista (and later).
By default, this mechanism considers that all the users (including the administrators) are standard users with reduced rights. To run an application that requires additional rights, the UAC mechanism asks for confirmation.
When you create your applications, we advise you to comply with the programming standard of Windows to give the ability to any user (without specific rights) to use your application. Therefore:
- If an application must create or modify local HFSQL data files or configuration files (.INI, .XML), these files must be found in the directory corresponding to the application.
- If these files are specific to the current user, they must be stored in the directory returned by fDataDirUser.
- If these files are common to all the computer users, they must be stored in the directory returned by fDataDirCommon.
- If several applications must create or modify the same HFSQL data files or configuration files (.INI, .XML), these files must be found in the common directory of applications
- If these files are specific to the current user, they must be stored in the directory returned by fGlobalDirUser.
- If these files are common to all the computer users, they must be stored in the directory returned by fGlobalDirCommon.
- These functions are recommended for the multi-user applications installed on a single computer or TSE.
- If the domain or the Active Directory allows the use of a mobile profile, the user details are automatically copied when changing computer.
To help you create applications while complying with the programming standard, specific options are proposed by WINDEV when running the application test. See Configuring the test mode of project
for more details.