Window Opacity 64-bit Mac

It seems that Window.Opacity is broken on 64-bit.
When I writeI Window.Opa… it tell me Window.Opacity then it exists but I can’t find it in the Xojo Help.

Makes sense since it truly doesnt exist
see http://documentation.xojo.com/index.php/Window
You get that from a declare or plugin ?

Ahhhh, effectively, sorry. I didn’t remember. It’s a module I suppose I downloaded here (I don’t know where else I could get it).
It’s a Declare, not a plugin. But I don’t really understand how it works.

if it is a declare, then it is entirely possible it won’t work with 64bit (at least in its current form [the declare, not 64bit])
64bit environment expects 64bit pointers etc… and as is, the declare is probably expecting 32bit ones

Mostly converting a declare to 64bit is easy. Can you drop the declare here so we can take a look at it.

WindowExtensions.xojo_binary_code.zip
AsI said, I don’t remember where I get it, but I’m nearly sure it’s here.
I don’t know who has the Credit for this Method.

Declare Sub SetAlphaValue Lib "Cocoa" selector "setAlphaValue:" ( windowRef As Integer, alphaValue As CGFloat)

should fix it.

Waouw, thank you :slight_smile: . And it seems that it works in 32-bit too, I do not need to make a test #If Target32Bit / Target64Bit in case of I build my app in 32-bit.

I will search the difference in CGFloat and single, just to be less idiot.

Thank you very much.

Edit : If I well understood, I could do :
#If Target32Bit Then
Sub SetAlphaValue Lib “Cocoa” selector “setAlphaValue:” ( windowRef As Integer, alphaValue As Single)
#ElseIf Target64Bit Then
Sub SetAlphaValue Lib “Cocoa” selector “setAlphaValue:” ( windowRef As Integer, alphaValue As Double)
#Else
MsgBox “How many bit build ?”
#EndIf

[quote=329723:@Thomas ROBISSON]Edit : If I well understood, I could do :
#If Target32Bit Then
Sub SetAlphaValue Lib “Cocoa” selector “setAlphaValue:” ( windowRef As Integer, alphaValue As Single)
#ElseIf Target64Bit Then
Sub SetAlphaValue Lib “Cocoa” selector “setAlphaValue:” ( windowRef As Integer, alphaValue As Double)
#Else
MsgBox “How many bit build ?”
#EndIf[/quote]
Correct and this was what we had to do before Xojo added “CGFloat”.