On 01/05/12 14:56, Juha Manninen wrote:
On Mon, Apr 30, 2012 at 11:15 PM, Frank Church <vfcli...@gmail.com <mailto:vfcli...@gmail.com>> wrote:

    In 0.9.30 it is defined in lclintf.h as

    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;

    The control I am working with, TJanPanelButton uses the signature
    in lclintfh.inc calling it as Frame3d( Self.Canvas.Handle, R,
    FFrameWidth, bvRaised );

    Juha Mahinnen added a patch to Extctrls to match the Delphi
    implementation here -
    http://docwiki.embarcadero.com/Libraries/en/Vcl.ExtCtrls.Frame3D.
    Although it matches the Delphi definition is it in the wrong place
    as it affects the apparently original Lazarus implementation?

    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?


I am not sure if I understand the problem. Is there an ambiguity between this :
  Frame3d( Self.Canvas.Handle, R, FFrameWidth, bvRaised );
and this :
  Self.Canvas.Frame3D(R, FFrameWidth, bvRaised );

I think he wants to use
LCLIntf.Frame3d(DC: HDC; var ARect: TRect; const FrameWidth : integer; const Style : TGraphicsBevelCut): Boolean

In that case, he must add LCLIntf to his uses clause.

Stephano
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to