Example in chapter please :)

Le 24/6/16 à 14:05, Esteban Lorenzano a écrit :

On 24 Jun 2016, at 09:53, Nicolai Hess <[email protected] <mailto:[email protected]>> wrote:



    I’m sorry… I do not understand. This is solved in UFFI since some
    months, and Torsten’s OSWindow uses it.


Sorry then it is my fault. I know that Torsten already ported OSWindow to UFFI, and that most things are already working.

    UFFI provides FFIConstantHandle type to deal with windows HANDLE
    types, as comment says:

    I represent a constant HANDLE, as described in  *Windows
    
MSDN>https://msdn.microsoft.com/en-us/library/windows/desktop/ms724457(v=vs.85).aspx*
    
<https://msdn.microsoft.com/en-us/library/windows/desktop/ms724457%28v=vs.85%29.aspx*>

    A ==HANDLE== is a special kind of external object who is accessed
    through numbers, therefore and ==ExternalAddress== is not
    appropriate to describe it (since they are constants and external
    addresses represents disposable spaces from memory).

    Is not clear this is necessary outside Windows, but according to
    documentation they are somekind analogous to unix's File
    Descriptors (but with some remarkable diferences, as documented
    
*here>http://lackingrhoticity.blogspot.fr/2015/05/passing-fds-handles-between-processes.html*.

    Example:
    [[[
    HWND := #FFIConstantHandle.
    self ffiCall: #(HWND GetActiveWindow())
    ]]]


    is there anything I’m missing?


I don't know what else should I do, I already posted the example.
The code I provided just don't work (DNU on isExternalAddress, see other mail), and I have no idea how to make it work. Yes, maybe I don't know enough about ffi for this type of the function argument passing.

the example is a simplification, you cannot put both definition and call in same method… find attached a working example of what you want.






(actually I tried to port some NBOpenGL code to UFFI, for this I need to register a Window Class with WinWndClassEx (to create a gl context).
So if this *is* already working, I need to look what I have done wrong).

thanks for your response.
nicolai


    Esteban






Reply via email to