diff --git a/components/tvplanit/laz_visualplanit.lpk b/components/tvplanit/laz_visualplanit.lpk
index 0085b9966..090cd2ff7 100644
--- a/components/tvplanit/laz_visualplanit.lpk
+++ b/components/tvplanit/laz_visualplanit.lpk
@@ -32,7 +32,7 @@ Portions created by TurboPower Software Inc. are Copyright (C) 2002 TurboPower S
Contributor(s): "/>
-
+
@@ -329,6 +329,10 @@ Contributor(s): "/>
+
+
+
+
diff --git a/components/tvplanit/source/vpfileds.pas b/components/tvplanit/source/vpfileds.pas
new file mode 100644
index 000000000..62c3291ec
--- /dev/null
+++ b/components/tvplanit/source/vpfileds.pas
@@ -0,0 +1,25 @@
+{ Basic Visual PlanIt datastore using an flat files, such as ini, xml or json }
+
+{$IF FPC_FullVersion >= 30200}
+ {$WARN 6058 off : Call to subroutine "$1" marked as inline is not inlined}
+{$IFEND}
+
+{$I Vp.INC}
+
+unit VpFileDS;
+
+interface
+
+uses
+ VpBase, VpData, VpBaseDS;
+
+type
+ TVpCustomFileDataStore = class(TVpCustomDataStore)
+ private
+ protected
+ public
+ end;
+
+implementation
+
+end.
diff --git a/components/tvplanit/source/vpinids.pas b/components/tvplanit/source/vpinids.pas
index 31cd5bafa..28cf96710 100644
--- a/components/tvplanit/source/vpinids.pas
+++ b/components/tvplanit/source/vpinids.pas
@@ -8,12 +8,12 @@ interface
uses
SysUtils, Classes,
- VpData, VpBaseDS;
+ VpData, VpBaseDS, VpFileDS;
type
TVpIniVersion = (iv105, iv104);
- TVpIniDatastore = class(TVpCustomDatastore)
+ TVpIniDatastore = class(TVpCustomFileDatastore)
private
FFilename: String;
FFormatSettings: TFormatSettings;
diff --git a/components/tvplanit/source/vpjsonds.pas b/components/tvplanit/source/vpjsonds.pas
index 9f8301a3f..67d00cb7d 100644
--- a/components/tvplanit/source/vpjsonds.pas
+++ b/components/tvplanit/source/vpjsonds.pas
@@ -8,12 +8,12 @@ interface
uses
SysUtils, Classes, fpjson,
- VpData, VpBaseDS;
+ VpData, VpBaseDS, VpFileDS;
type
TVpJSONStoreType = (jstFile, jstString);
- TVpJSONDataStore = class(TVpCustomDataStore)
+ TVpJSONDataStore = class(TVpCustomFileDataStore)
private
FFileName: String;
FJSONString: String;
diff --git a/components/tvplanit/source/vpxmlds.pas b/components/tvplanit/source/vpxmlds.pas
index ef6602ceb..7b4031850 100644
--- a/components/tvplanit/source/vpxmlds.pas
+++ b/components/tvplanit/source/vpxmlds.pas
@@ -8,10 +8,10 @@ interface
uses
SysUtils, Classes, laz2_xmlread, laz2_xmlwrite, laz2_DOM,
- VpData, VpBaseDS;
+ VpData, VpBaseDS, VpFileDS;
type
- TVpXmlDatastore = class(TVpCustomDatastore)
+ TVpXmlDatastore = class(TVpCustomFileDatastore)
private
FFilename: String;
FParentNode: String;