lazarus-ccr/components/orpheus/o32vlreg.pas
2007-01-16 02:17:08 +00:00

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.