<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    On 01/05/12 15:43, Frank Church wrote:
    <blockquote
cite="mid:CAE3mkNC2TiDskEwOd3PJTpxKFi0e5H90ZA_ua-iW1BJz_6+1oQ@mail.gmail.com"
      type="cite"><br>
      <br>
      <div class="gmail_quote">On 1 May 2012 13:14, patspiper <span
          dir="ltr"><<a moz-do-not-send="true"
            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
                        moz-do-not-send="true"
                        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
                        moz-do-not-send="true"
                        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 moz-do-not-send="true"
            href="mailto:Lazarus@lists.lazarus.freepascal.org">Lazarus@lists.lazarus.freepascal.org</a><br>
          <a moz-do-not-send="true"
            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">
    </blockquote>
    Which frame3d in ExtCtrls is hiding LCLIntf.frame3d?<br>
    <br>
    In any case, you can qualify it by using LCLIntf.frame3d(...)<br>
    <br>
    Stepahno<br>
  </body>
</html>