Some people highly recommend Cody, Thaddy obviously does not. I don't know, I rarely use it because I always forget how to find the menu item which allows me to search for the unknown word...
My standard way of searching for units is this:
Suppose I have this TAChart code:
LineSeries.Pointer.Style := psCircle;
When I compile this the IDE moves the cursor to "psCirclee" and says "Identifier not found: psCircle". This means: it DID find the Style!. Therefore I CTRL-click on the word "Style", and this opens the unit in which Pointer.Style is declared and jumps to this line:
property Style: TSeriesPointerStyle read FStyle write SetStyle default psRectangle;
Here I see: Style is of type TSeriesPointerStyle. So, I CTRL-click on TSeriesPointerStyle and this brings me to
TSeriesPointerStyle = (
psNone, psRectangle, psCircle, psCross, psDiagCross, psStar,
psLowBracket, psHighBracket, psLeftBracket, psRightBracket, psDiamond,
psTriangle, psLeftTriangle, psRightTriangle, psVertBar, psHorBar, psPoint,
psDownTriangle, psHexagon, psFullStar);
Here, psCircle is the third value of the enumeration. Looking at the editor tab in the IDE I can see that this is in unit TATypes. Therefore, I must add TATypes to "uses".
Of course, this does not help when the unidentified word is out of context, such as the "DrawText" mentioned by the TS. In this case, I usually do an internet search which usually has a hint to the unit within the first few hits.
A good idea is also to move the cursor onto the unidentified word and press F1. The integrated help of Lazarus is getting better and better (thanks to the many contributions by Don Siders - thank you), and there is a good chance that the missing unit is found this way.
P.S.
With "CTRL-click" I mean: hold the CTRL key down while clicking the left mouse button.