[Lazarus] Return of Frame3D issue
patspiper
patspiper at gmail.com
Tue May 1 14:47:36 CEST 2012
On 01/05/12 15:43, Frank Church wrote:
>
>
> On 1 May 2012 13:14, patspiper <patspiper at gmail.com
> <mailto:patspiper at gmail.com>> wrote:
>
> On 01/05/12 14:56, Juha Manninen wrote:
>> On Mon, Apr 30, 2012 at 11:15 PM, Frank Church
>> <vfclists at gmail.com <mailto:vfclists at 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 at lists.lazarus.freepascal.org
> <mailto:Lazarus at lists.lazarus.freepascal.org>
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
>
> 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.
Which frame3d in ExtCtrls is hiding LCLIntf.frame3d?
In any case, you can qualify it by using LCLIntf.frame3d(...)
Stepahno
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20120501/85afec7c/attachment-0003.html>
More information about the Lazarus
mailing list