Vincent Snijders wrote: > > Please add the declaration, to make sure it is StrToBool
I'm not that blind. :-) And the function in question in BoolToStr(). But now that you mention StrToBool(), that is even worse, it hard-codes the 'FALSE' and 'TRUE' and doesn't even use the arrays. How come nobody ever noticed this? Does everybody only write English programs. :-) ================================== function BoolToStr(B: Boolean;UseBoolStrs:Boolean=False): string; procedure CheckStrs; begin If Length(TrueBoolStrs)=0 then begin SetLength(TrueBoolStrs,1); TrueBoolStrs[0]:='True'; end; If Length(FalseBoolStrs)=0 then begin SetLength(FalseBoolStrs,1); FalseBoolStrs[0]:='False'; end; end; begin if UseBoolStrs Then begin CheckStrs; if B then Result:=TrueBoolStrs[0] else Result:=FalseBoolStrs[0]; end else If B then Result:='-1' else Result:='0'; end; ================================== function TryStrToBool(const S: string; out Value: Boolean): Boolean; Var Temp : String; D : Double; Code: word; begin Temp:=upcase(S); Val(temp,D,code); Result:=true; If Code=0 then Value:=(D<>0.0) else If Temp='TRUE' then Value:=true else if Temp='FALSE' then Value:=false else Result:=false; end; ================================== Regards, - Graeme - _______________________________________________________ fpGUI - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/ _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal