<div class="gmail_quote">On Tue, May 1, 2012 at 3:14 PM, patspiper <span dir="ltr"><<a href="mailto:patspiper@gmail.com" target="_blank">patspiper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    I think he wants to use<br>
    LCLIntf.Frame3d(DC: HDC; var ARect: TRect; const FrameWidth :
    integer; const Style : TGraphicsBevelCut): Boolean<br>
    <br>
    In that case, he must add LCLIntf to his uses clause.<br></div></blockquote></div><br>Yes, LCLIntf must be added to uses clause but still there is no           ambiguity and thus no danger of calling a wrong function by accident. They all have different parameter signatures.<br>
I still don't quite understand the original problem.<br><br><br>Global in ExtCtrls :<br><br>  procedure Frame3D(ACanvas: TCanvas; var ARect: TRect; TopColor, BottomColor: TColor; const FrameWidth: integer);<br><br>Global in LCLIntf :<br>
<br>  function Frame3d(DC: HDC; var ARect: TRect; const FrameWidth : integer; const Style : TGraphicsBevelCut): Boolean;<br><br>TCanvas (2 overloaded versions) :<br><br>  procedure TCanvas.Frame3d(var ARect: TRect; const FrameWidth : integer; const Style : TGraphicsBevelCut);<br>
<br>  procedure TCanvas.Frame3D(var ARect: TRect; TopColor, BottomColor: TColor;<br>  const FrameWidth: integer);<br><br><br>Juha<br><br>