
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@44 8e941d3f-bd1b-0410-a28a-d453659cc2b4
100 lines
3.4 KiB
ObjectPascal
100 lines
3.4 KiB
ObjectPascal
{*********************************************************}
|
|
{* O32VLREG.PAS 4.06 *}
|
|
{*********************************************************}
|
|
|
|
{* ***** BEGIN LICENSE BLOCK ***** *}
|
|
{* Version: MPL 1.1 *}
|
|
{* *}
|
|
{* The contents of this file are subject to the Mozilla Public License *}
|
|
{* Version 1.1 (the "License"); you may not use this file except in *}
|
|
{* compliance with the License. You may obtain a copy of the License at *}
|
|
{* http://www.mozilla.org/MPL/ *}
|
|
{* *}
|
|
{* Software distributed under the License is distributed on an "AS IS" basis, *}
|
|
{* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License *}
|
|
{* for the specific language governing rights and limitations under the *}
|
|
{* License. *}
|
|
{* *}
|
|
{* The Original Code is TurboPower Orpheus *}
|
|
{* *}
|
|
{* The Initial Developer of the Original Code is TurboPower Software *}
|
|
{* *}
|
|
{* Portions created by TurboPower Software Inc. are Copyright (C)1995-2002 *}
|
|
{* TurboPower Software Inc. All Rights Reserved. *}
|
|
{* *}
|
|
{* Contributor(s): *}
|
|
{* *}
|
|
{* ***** END LICENSE BLOCK ***** *}
|
|
|
|
{$I OVC.INC}
|
|
|
|
{$B-} {Complete Boolean Evaluation}
|
|
{$I+} {Input/Output-Checking}
|
|
{$P+} {Open Parameters}
|
|
{$T-} {Typed @ Operator}
|
|
{.W-} {Windows Stack Frame}
|
|
{$X+} {Extended Syntax}
|
|
|
|
unit o32vlreg;
|
|
{Registration unit for the Orpheus Validator components.}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, O32Vldtr;
|
|
|
|
var
|
|
ValidatorList: TStrings;
|
|
|
|
procedure RegisterValidator(ValidatorClass: TValidatorClass);
|
|
procedure UnRegisterValidator(ValidatorClass: TValidatorClass);
|
|
procedure GetRegisteredValidators(aList: TStrings);
|
|
|
|
implementation
|
|
|
|
procedure RegisterValidator(ValidatorClass: TValidatorClass);
|
|
begin
|
|
if ValidatorClass.InheritsFrom(TO32BaseValidator) then begin
|
|
if ValidatorList.IndexOf(ValidatorClass.ClassName) = -1 then begin
|
|
RegisterClass(TPersistentClass(ValidatorClass));
|
|
ValidatorList.Add(ValidatorClass.ClassName);
|
|
end;
|
|
end;
|
|
end;
|
|
{=====}
|
|
|
|
procedure UnRegisterValidator(ValidatorClass: TValidatorClass);
|
|
var
|
|
i: Integer;
|
|
begin
|
|
i := ValidatorList.IndexOf(ValidatorClass.ClassName);
|
|
if i > -1 then begin
|
|
ValidatorList.Delete(i);
|
|
UnRegisterClass(TPersistentClass(ValidatorClass));
|
|
end;
|
|
end;
|
|
{=====}
|
|
|
|
procedure GetRegisteredValidators(aList: TStrings);
|
|
begin
|
|
Assert(Assigned(ValidatorList));
|
|
Assert(Assigned(aList));
|
|
|
|
aList.Clear;
|
|
aList.BeginUpdate;
|
|
aList.Assign(ValidatorList);
|
|
aList.EndUpdate;
|
|
end;
|
|
|
|
initialization
|
|
|
|
ValidatorList := TStringList.Create;
|
|
ValidatorList.Add('None');
|
|
|
|
|
|
finalization
|
|
|
|
ValidatorList.Free;
|
|
|
|
end.
|