You've already forked lazarus-ccr
tvplanit: Add missing BaseDatastore and FlexDatastore to package. Some cosmetics.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4682 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -13,11 +13,12 @@
|
|||||||
</SearchPaths>
|
</SearchPaths>
|
||||||
<Parsing>
|
<Parsing>
|
||||||
<SyntaxOptions>
|
<SyntaxOptions>
|
||||||
|
<SyntaxMode Value="Delphi"/>
|
||||||
<UseAnsiStrings Value="False"/>
|
<UseAnsiStrings Value="False"/>
|
||||||
</SyntaxOptions>
|
</SyntaxOptions>
|
||||||
</Parsing>
|
</Parsing>
|
||||||
</CompilerOptions>
|
</CompilerOptions>
|
||||||
<Files Count="61">
|
<Files Count="63">
|
||||||
<Item1>
|
<Item1>
|
||||||
<Filename Value="../source/vpabout.pas"/>
|
<Filename Value="../source/vpabout.pas"/>
|
||||||
<UnitName Value="VpAbout"/>
|
<UnitName Value="VpAbout"/>
|
||||||
@ -263,6 +264,14 @@
|
|||||||
<Filename Value="../source/vpbase.res"/>
|
<Filename Value="../source/vpbase.res"/>
|
||||||
<Type Value="Binary"/>
|
<Type Value="Binary"/>
|
||||||
</Item61>
|
</Item61>
|
||||||
|
<Item62>
|
||||||
|
<Filename Value="../source/vpflxds.pas"/>
|
||||||
|
<UnitName Value="VpFlxDS"/>
|
||||||
|
</Item62>
|
||||||
|
<Item63>
|
||||||
|
<Filename Value="../source/vpflxdsed1.pas"/>
|
||||||
|
<UnitName Value="VpFlxDsEd1"/>
|
||||||
|
</Item63>
|
||||||
</Files>
|
</Files>
|
||||||
<RequiredPkgs Count="3">
|
<RequiredPkgs Count="3">
|
||||||
<Item1>
|
<Item1>
|
||||||
|
@ -98,8 +98,10 @@ type
|
|||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
{$IFNDEF LCL}
|
{$IFDEF LCL}
|
||||||
{$R *.dfm}
|
{$R *.lfm}
|
||||||
|
{$ELSE}
|
||||||
|
{$R *.dfm}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
uses
|
uses
|
||||||
|
@ -35,7 +35,7 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
{$IFDEF LCL}
|
{$IFDEF LCL}
|
||||||
LMessages,LCLProc,LCLType,LCLIntf,LResources,
|
LMessages, LCLProc, LCLType, LCLIntf, LResources,
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
Windows,Messages,
|
Windows,Messages,
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
@ -95,8 +95,10 @@ type
|
|||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
{$IFNDEF LCL}
|
{$IFDEF LCL}
|
||||||
{$R *.DFM}
|
{$R *.LFM}
|
||||||
|
{$ELSE}
|
||||||
|
{$R *.DFM}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
uses VpSR;
|
uses VpSR;
|
||||||
@ -282,13 +284,6 @@ begin
|
|||||||
Self.Height := 210;
|
Self.Height := 210;
|
||||||
OpenItemBtn.SetFocus;
|
OpenItemBtn.SetFocus;
|
||||||
end;
|
end;
|
||||||
(*
|
|
||||||
initialization
|
|
||||||
|
|
||||||
{$IFDEF LCL}
|
|
||||||
{$I vpalarmdlg.lrs}
|
|
||||||
{$ENDIF}
|
|
||||||
*)
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
@ -34,17 +34,18 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
{$IFDEF LCL}
|
{$IFDEF LCL}
|
||||||
LMessages,LCLProc,LCLType, LResources,
|
LMessages, LCLProc, LCLType, LResources,
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
Windows,
|
Windows,
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
Messages,Classes, Graphics, Controls, Dialogs, Forms, StdCtrls,
|
Messages,
|
||||||
|
Classes, Graphics, Controls, Dialogs, Forms, StdCtrls,
|
||||||
ExtCtrls, SysUtils, VpConst,
|
ExtCtrls, SysUtils, VpConst,
|
||||||
VpSR;
|
VpSR;
|
||||||
|
|
||||||
const
|
const
|
||||||
{Message base}
|
{Message base}
|
||||||
Vp_First = WM_USER;//$7DF0; {Sets base for all Vp messages}
|
Vp_First = WM_USER; //$7DF0; {Sets base for all Vp messages}
|
||||||
|
|
||||||
const
|
const
|
||||||
{Custom message types}
|
{Custom message types}
|
||||||
@ -960,13 +961,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
(*
|
|
||||||
//soenr ich habe das hinzugefügt
|
|
||||||
{$IFDEF FPC}
|
|
||||||
initialization
|
|
||||||
{$i ../source/vpbase.lrs}
|
|
||||||
{$ENDIF}
|
|
||||||
*)
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
{$IFDEF LCL}
|
{$IFDEF LCL}
|
||||||
LMessages,LCLProc,LCLIntf,
|
LMessages, LCLProc, LCLIntf,
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
Windows,
|
Windows,
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
@ -228,7 +228,7 @@ type
|
|||||||
|
|
||||||
procedure DeregisterAllWatchers;
|
procedure DeregisterAllWatchers;
|
||||||
procedure DeregisterWatcher (Watcher : THandle);
|
procedure DeregisterWatcher (Watcher : THandle);
|
||||||
function GetNextID(TableName: string): int64; virtual; abstract;
|
function GetNextID(TableName: string): Integer; virtual; abstract;
|
||||||
property Resources: TVpResources read FResources;
|
property Resources: TVpResources read FResources;
|
||||||
procedure Load; virtual;
|
procedure Load; virtual;
|
||||||
procedure LoadEvents; virtual; abstract;
|
procedure LoadEvents; virtual; abstract;
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
{* *}
|
{* *}
|
||||||
{* ***** END LICENSE BLOCK ***** *}
|
{* ***** END LICENSE BLOCK ***** *}
|
||||||
|
|
||||||
{$I Vp.INC}
|
{$I vp.inc}
|
||||||
|
|
||||||
unit VpCalendar;
|
unit VpCalendar;
|
||||||
{-Calendar component}
|
{-Calendar component}
|
||||||
@ -1862,7 +1862,7 @@ procedure TVpCustomCalendar.SetBorderStyle(Value : TBorderStyle);
|
|||||||
begin
|
begin
|
||||||
if Value <> FBorderStyle then begin
|
if Value <> FBorderStyle then begin
|
||||||
FBorderStyle := Value;
|
FBorderStyle := Value;
|
||||||
RecreateWnd{$IFDEF LCL}(self){$ENDIF};
|
RecreateWnd(Self); { *Converted from RecreateWnd* }
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
@ -1986,7 +1986,7 @@ procedure TVpCustomCalendar.SetWantDblClicks(Value : Boolean);
|
|||||||
begin
|
begin
|
||||||
if Value <> FWantDblClicks then begin
|
if Value <> FWantDblClicks then begin
|
||||||
FWantDblClicks := Value;
|
FWantDblClicks := Value;
|
||||||
RecreateWnd{$IFDEF LCL}(Self){$ENDIF};
|
RecreateWnd(Self); { *Converted from RecreateWnd* }
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
|
@ -29,6 +29,11 @@
|
|||||||
{.$I Vp.INC}
|
{.$I Vp.INC}
|
||||||
|
|
||||||
unit VpConst;
|
unit VpConst;
|
||||||
|
|
||||||
|
{$IFDEF FPC}
|
||||||
|
{$MODE Delphi}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
{-Versioning defines and methods}
|
{-Versioning defines and methods}
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -14,7 +14,9 @@ object frmFieldMapper: TfrmFieldMapper
|
|||||||
OnClose = FormClose
|
OnClose = FormClose
|
||||||
OnShow = FormShow
|
OnShow = FormShow
|
||||||
Position = poScreenCenter
|
Position = poScreenCenter
|
||||||
|
LCLVersion = '1.7'
|
||||||
object Panel1: TPanel
|
object Panel1: TPanel
|
||||||
|
Left = 0
|
||||||
Height = 57
|
Height = 57
|
||||||
Top = 480
|
Top = 480
|
||||||
Width = 409
|
Width = 409
|
||||||
@ -33,7 +35,9 @@ object frmFieldMapper: TfrmFieldMapper
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object PageControl1: TPageControl
|
object PageControl1: TPageControl
|
||||||
|
Left = 0
|
||||||
Height = 480
|
Height = 480
|
||||||
|
Top = 0
|
||||||
Width = 409
|
Width = 409
|
||||||
ActivePage = TabSheet1
|
ActivePage = TabSheet1
|
||||||
Align = alClient
|
Align = alClient
|
||||||
@ -86,7 +90,7 @@ object frmFieldMapper: TfrmFieldMapper
|
|||||||
Height = 255
|
Height = 255
|
||||||
Top = 56
|
Top = 56
|
||||||
Width = 145
|
Width = 145
|
||||||
ItemHeight = 13
|
ItemHeight = 0
|
||||||
OnClick = DBFieldSelected
|
OnClick = DBFieldSelected
|
||||||
OnKeyPress = DatasetFieldLBKeyPress
|
OnKeyPress = DatasetFieldLBKeyPress
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
@ -96,7 +100,7 @@ object frmFieldMapper: TfrmFieldMapper
|
|||||||
Height = 255
|
Height = 255
|
||||||
Top = 56
|
Top = 56
|
||||||
Width = 145
|
Width = 145
|
||||||
ItemHeight = 13
|
ItemHeight = 0
|
||||||
OnClick = VpFieldSelected
|
OnClick = VpFieldSelected
|
||||||
OnKeyPress = VPFieldLBKeyPress
|
OnKeyPress = VPFieldLBKeyPress
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
@ -106,7 +110,7 @@ object frmFieldMapper: TfrmFieldMapper
|
|||||||
Height = 100
|
Height = 100
|
||||||
Top = 349
|
Top = 349
|
||||||
Width = 217
|
Width = 217
|
||||||
ItemHeight = 13
|
ItemHeight = 0
|
||||||
OnClick = FieldMappingsLBClick
|
OnClick = FieldMappingsLBClick
|
||||||
OnKeyPress = FieldMappingsLBKeyPress
|
OnKeyPress = FieldMappingsLBKeyPress
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
@ -126,7 +130,6 @@ object frmFieldMapper: TfrmFieldMapper
|
|||||||
Height = 21
|
Height = 21
|
||||||
Top = 10
|
Top = 10
|
||||||
Width = 145
|
Width = 145
|
||||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
|
||||||
ItemHeight = 13
|
ItemHeight = 13
|
||||||
OnChange = DatasetComboChange
|
OnChange = DatasetComboChange
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
@ -139,7 +142,6 @@ object frmFieldMapper: TfrmFieldMapper
|
|||||||
Width = 69
|
Width = 69
|
||||||
Caption = 'Add Field Mapping'
|
Caption = 'Add Field Mapping'
|
||||||
Enabled = False
|
Enabled = False
|
||||||
NumGlyphs = 0
|
|
||||||
OnClick = btnAddMappingClick
|
OnClick = btnAddMappingClick
|
||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
end
|
end
|
||||||
|
@ -37,10 +37,14 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
||||||
{$IFNDEF RUNTIMETEST}
|
{$IFNDEF RUNTIMETEST}
|
||||||
{$IFDEF VERSION6} DesignIntf, DesignEditors, {$ELSE} DsgnIntf, {$ENDIF}
|
{$IFDEF LCL}
|
||||||
{$ENDIF} {RUNTIMETEST}
|
propedits, componenteditors, FormEditingIntf, lclintf, IDEIntf,
|
||||||
ExtCtrls, StdCtrls, Db, DBTables, VpData, VpFlxDS, ComCtrls, Buttons;
|
{$ELSE}
|
||||||
|
{$IFDEF VERSION6} DesignIntf, DesignEditors, {$ELSE} DsgnIntf, {$ENDIF}, DBTables,
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF} {RUNTIMETEST}
|
||||||
|
ExtCtrls, StdCtrls, Db, VpData, VpFlxDS, ComCtrls, Buttons;
|
||||||
|
|
||||||
type
|
type
|
||||||
TfrmFieldMapper = class(TForm)
|
TfrmFieldMapper = class(TForm)
|
||||||
@ -100,7 +104,12 @@ procedure RuntimeTest(FlexDS: TVpFlexDataStore);
|
|||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
{$R *.DFM}
|
{$IFDEF LCL}
|
||||||
|
{$R *.LFM}
|
||||||
|
{$ELSE}
|
||||||
|
{$R *.DFM}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
uses
|
uses
|
||||||
vpConst;
|
vpConst;
|
||||||
|
|
||||||
@ -141,13 +150,17 @@ end;
|
|||||||
|
|
||||||
{$ELSE} {RUNTIMETEST}
|
{$ELSE} {RUNTIMETEST}
|
||||||
|
|
||||||
|
{$IFDEF LCL}
|
||||||
|
procedure MapDatabaseFields(Designer : TComponentEditorDesigner;
|
||||||
|
FlexDS : TVpFlexDataStore);
|
||||||
|
{$ELSE}
|
||||||
{$IFDEF VERSION6}
|
{$IFDEF VERSION6}
|
||||||
procedure MapDatabaseFields(Designer : IDesigner;
|
procedure MapDatabaseFields(Designer : TComponentEditorDesigner;; // was: Designer : IDesigner;
|
||||||
FlexDS : TVpFlexDataStore);
|
FlexDS : TVpFlexDataStore);
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
procedure MapDatabaseFields(Designer : IFormDesigner;
|
procedure MapDatabaseFields(Designer : IFormDesigner;
|
||||||
FlexDS : TVpFlexDataStore);
|
FlexDS : TVpFlexDataStore);
|
||||||
{$ENDIF}
|
{$ENDIF}{$ENDIF}
|
||||||
var
|
var
|
||||||
frmFieldMapper: TfrmFieldMapper;
|
frmFieldMapper: TfrmFieldMapper;
|
||||||
begin
|
begin
|
||||||
|
@ -135,7 +135,7 @@ uses
|
|||||||
VpContactGrid, { ContactGrid Component }
|
VpContactGrid, { ContactGrid Component }
|
||||||
VpDateEdit, { DateEdit Component }
|
VpDateEdit, { DateEdit Component }
|
||||||
VpTaskList, { Task List Component }
|
VpTaskList, { Task List Component }
|
||||||
// VpFlxDS, { Flexible DataStore }
|
VpFlxDS, { Flexible DataStore }
|
||||||
VpContactEditDlg, { Contact Edit Dialog Component }
|
VpContactEditDlg, { Contact Edit Dialog Component }
|
||||||
VpTaskEditDlg, { Task Edit Dialog Component }
|
VpTaskEditDlg, { Task Edit Dialog Component }
|
||||||
VpEvntEditDlg, { Event Edit Dialog Component }
|
VpEvntEditDlg, { Event Edit Dialog Component }
|
||||||
@ -149,8 +149,8 @@ uses
|
|||||||
VpContactButtons, { - New contact grid button bar component }
|
VpContactButtons, { - New contact grid button bar component }
|
||||||
{ Designtime Interfaces (Property and Component Editors) }
|
{ Designtime Interfaces (Property and Component Editors) }
|
||||||
VpAbout, { About form for the About property editor }
|
VpAbout, { About form for the About property editor }
|
||||||
VpNabEd; { component editor for the VpNavBar }
|
VpNabEd, { component editor for the VpNavBar }
|
||||||
// VpFlxDSEd1; { Field mapper component editor for the FlexDS }
|
VpFlxDSEd1; { Field mapper component editor for the FlexDS }
|
||||||
|
|
||||||
|
|
||||||
(*****************************************************************************)
|
(*****************************************************************************)
|
||||||
@ -388,9 +388,9 @@ end;
|
|||||||
TVpClock,
|
TVpClock,
|
||||||
TVpCalendar,
|
TVpCalendar,
|
||||||
TVpNavBar,
|
TVpNavBar,
|
||||||
{$IFNDEF LCL}
|
|
||||||
TVpFlexDataStore,
|
TVpFlexDataStore,
|
||||||
TVpBDEDataStore,
|
{$IFNDEF LCL}
|
||||||
|
TVpBDEDataStore, // BDE is not available in Lazarus
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
TVpControlLink,
|
TVpControlLink,
|
||||||
TVpPrintPreview,
|
TVpPrintPreview,
|
||||||
|
@ -24,9 +24,9 @@ object ResEditForm: TResEditForm
|
|||||||
ClientWidth = 400
|
ClientWidth = 400
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object OKBtn: TButton
|
object OKBtn: TButton
|
||||||
Left = 245
|
Left = 243
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 9
|
Top = 7
|
||||||
Width = 75
|
Width = 75
|
||||||
Anchors = [akRight, akBottom]
|
Anchors = [akRight, akBottom]
|
||||||
Caption = 'OK'
|
Caption = 'OK'
|
||||||
@ -36,9 +36,9 @@ object ResEditForm: TResEditForm
|
|||||||
TabStop = False
|
TabStop = False
|
||||||
end
|
end
|
||||||
object CancelBtn: TButton
|
object CancelBtn: TButton
|
||||||
Left = 324
|
Left = 322
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 9
|
Top = 7
|
||||||
Width = 75
|
Width = 75
|
||||||
Anchors = [akRight, akBottom]
|
Anchors = [akRight, akBottom]
|
||||||
Cancel = True
|
Cancel = True
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
{* *}
|
{* *}
|
||||||
{* ***** END LICENSE BLOCK ***** *}
|
{* ***** END LICENSE BLOCK ***** *}
|
||||||
|
|
||||||
{$I Vp.INC}
|
{$I vp.inc}
|
||||||
|
|
||||||
unit VpResEditDlg;
|
unit VpResEditDlg;
|
||||||
|
|
||||||
@ -93,7 +93,11 @@ function ExecuteResourceDlg(Resource: TVpResource): Boolean;
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
{$IFNDEF LCL}
|
{$IFNDEF LCL}
|
||||||
{$R *.DFM}
|
{$IFnDEF FPC}
|
||||||
|
{$R *.dfm}
|
||||||
|
{$ELSE}
|
||||||
|
{$R *.lfm}
|
||||||
|
{$ENDIF}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
function ExecuteResourceDlg(Resource: TVpResource): Boolean;
|
function ExecuteResourceDlg(Resource: TVpResource): Boolean;
|
||||||
|
@ -25,9 +25,9 @@ object TaskEditForm: TTaskEditForm
|
|||||||
ClientWidth = 546
|
ClientWidth = 546
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object ResourceNameLbl: TLabel
|
object ResourceNameLbl: TLabel
|
||||||
Left = 8
|
Left = 6
|
||||||
Height = 16
|
Height = 16
|
||||||
Top = 12
|
Top = 10
|
||||||
Width = 100
|
Width = 100
|
||||||
AutoSize = False
|
AutoSize = False
|
||||||
Caption = 'Resource Name'
|
Caption = 'Resource Name'
|
||||||
@ -39,9 +39,9 @@ object TaskEditForm: TTaskEditForm
|
|||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
object OKBtn: TButton
|
object OKBtn: TButton
|
||||||
Left = 389
|
Left = 387
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 8
|
Top = 6
|
||||||
Width = 75
|
Width = 75
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
Caption = 'OK'
|
Caption = 'OK'
|
||||||
@ -50,9 +50,9 @@ object TaskEditForm: TTaskEditForm
|
|||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
end
|
end
|
||||||
object CancelBtn: TButton
|
object CancelBtn: TButton
|
||||||
Left = 467
|
Left = 465
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 8
|
Top = 6
|
||||||
Width = 75
|
Width = 75
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
Cancel = True
|
Cancel = True
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
{* *}
|
{* *}
|
||||||
{* ***** END LICENSE BLOCK ***** *}
|
{* ***** END LICENSE BLOCK ***** *}
|
||||||
|
|
||||||
{$I Vp.INC}
|
{$I vp.inc}
|
||||||
|
|
||||||
unit VpTaskEditDlg;
|
unit VpTaskEditDlg;
|
||||||
{ default task editing dialog }
|
{ default task editing dialog }
|
||||||
@ -104,7 +104,11 @@ type
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
{$IFNDEF LCL}
|
{$IFNDEF LCL}
|
||||||
{$R *.dfm}
|
{$IFnDEF FPC}
|
||||||
|
{$R *.dfm}
|
||||||
|
{$ELSE}
|
||||||
|
{$R *.lfm}
|
||||||
|
{$ENDIF}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{ TTaskEditForm }
|
{ TTaskEditForm }
|
||||||
|
Reference in New Issue
Block a user