<br><br><div class="gmail_quote">On 1 May 2012 13:14, 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"><div><div class="h5">
    On 01/05/12 14:56, Juha Manninen wrote:
    <blockquote type="cite">
      <div class="gmail_quote">On Mon, Apr 30, 2012 at 11:15 PM, Frank
        Church <span dir="ltr"><<a href="mailto:vfclists@gmail.com" target="_blank">vfclists@gmail.com</a>></span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
          In 0.9.30 it is defined in lclintf.h as<br>
          <br>
          function Frame3d(DC: HDC; var ARect: TRect; const FrameWidth :
          integer; const Style : TGraphicsBevelCut): Boolean; {$IFDEF
          IF_BASE_MEMBER}virtual;{$ENDIF} and is also in the Graphics
          unit as     procedure Frame3d(var ARect: TRect; const
          FrameWidth: integer; const Style: TGraphicsBevelCut); virtual;<br>
          <br>
          The control I am working with, TJanPanelButton uses the
          signature in lclintfh.inc calling it as Frame3d(
          Self.Canvas.Handle, R, FFrameWidth, bvRaised );  <br>
          <br>
          Juha Mahinnen added a patch to Extctrls to match the Delphi
          implementation here - <a href="http://docwiki.embarcadero.com/Libraries/en/Vcl.ExtCtrls.Frame3D" target="_blank">http://docwiki.embarcadero.com/Libraries/en/Vcl.ExtCtrls.Frame3D</a>.
          Although it matches the Delphi definition is it in the wrong
          place as it affects the apparently original Lazarus
          implementation?<br>
          <br>
          In the mean time I have to ifdef it and call
          Self.Canvas.Frame3D(R, FFrameWidth, bvRaised ) instead of
          Frame3d( Self.Canvas.Handle, R, FFrameWidth, bvRaised ) which
          matches the definition of TCanvas in Graphics. Is that any
          good?<br>
        </blockquote>
        <div><br>
          I am not sure if I understand the problem. Is there an
          ambiguity between this :<br>
            Frame3d( Self.Canvas.Handle, R, FFrameWidth, bvRaised );<br>
          and this :<br>
            Self.Canvas.Frame3D(R, FFrameWidth, bvRaised );<br>
        </div>
      </div>
    </blockquote>
    <br></div></div>
    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>
    <br>
    Stephano<br>
  </div>

<br>--<br>
_______________________________________________<br>
Lazarus mailing list<br>
<a href="mailto:Lazarus@lists.lazarus.freepascal.org">Lazarus@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus</a><br>
<br></blockquote></div><br>Both LCLIntf and Extctrls are already declared in the uses clause, but it appears that definining the new Frame3D procedure in ExtCtrls overrides the definition in LCLIntf, so it raises the question of whether the new Frame3D definition should be in another unit in order not to override the other definition.<br clear="all">
<br>-- <br>Frank Church<br><br>=======================<br><a href="http://devblog.brahmancreations.com">http://devblog.brahmancreations.com</a><br>