RazorBlade uses various components. If you want to compile it, you have to get those and install them. For installation instructions, please read the documentation for each component carefully, or consult the Delpi Online-Help. Component-List for RazorBlade 1.4: Name: TGUI2Console Home: http://www.embeddedinnovations.com/ File: http://www.embeddedinnovations.com/Gui2con.zip Name: TEnhListView (part of TExtListView) (see note below!) Home: http://www.delphifreestuff.com/ File: http://www.delphifreestuff.com/mine/files/extlistview.zip Name: TVersionInfoResource Home: http://www.delphifreestuff.com/ File: http://www.delphifreestuff.com/mine/files/versinfo.zip Name: TWebFileInfo Home: http://www.delphifreestuff.com/ File: http://www.delphifreestuff.com/other/files/webfileinfo.zip Name: RxLibrary 2.60 Home: http://www2.crosswinds.net/~rxlib/ Name: TWidget Home: http://home.sprynet.com/~rrm/ File: http://home.sprynet.com/~rrm/widgets.zip Also, I'm using the unit "reinit.pas" which comes with Delphi 4; it ist placed in the folder "{DELPHI}\Demos\Richedit". Please note that I'm using a "patched" version of TEnhListView. If you want to use this patched version, copy the file "EnhListView.pas" to the RazorBlade directory and replace the function "IsValidNumber" with the following code. //-- the following was added by Holger Dors (holger@dors.de) ----- //-- Val fails for formatted Numbers, therefore I've added this Function IsValidNumber(Const S: String; Var V: extended): Boolean; Var NumCode: Integer; lsMyS: String; i: Integer; Begin lsMyS := ''; For i := 1 To Length(S) Do Begin //-- Remove all ThousanderSeperators, If S[i] = ThousandSeparator Then Continue; //-- change DecimalSeparator to '.' If S[i] = DecimalSeparator Then lsMyS := lsMyS + '.' Else lsMyS := lsMyS + S[i]; End; Val(lsMyS, V, NumCode); Result := (NumCode = 0); //-- hdo, 13. Apr 1999 -------------------------------------------- End;