Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

GuiPtrTools.bi

Uploader:MitgliedOneCypher
Datum/Zeit:13.10.2009 11:05:35
Hinweis: Dieser Quelltext ist Bestandteil des Projekts GuiPtr, zu dem es auf FreeBASIC-Portal.de eine Projektseite gibt.

    #define Use(G) scope: var This = G :Dim Tmp1 as GuiObjectControl ptr = cast(any ptr, This): Dim Tmp2 as GuiObject ptr = Tmp1->GuiObjectPtr: dim Me as GuiObject ptr = Tmp2
    #define EndUse end scope

    function Event(MyObject as any ptr) as Events ptr
        Dim GCO as GuiObjectControl ptr = MyObject
        Dim GO as GuiObject ptr = GCO->GuiObjectPTR
        return GO->PublicEvents
    end function

    function Signal(MyObject as any ptr) as Signals ptr
        Dim GCO as GuiObjectControl ptr = MyObject
        Dim GO as GuiObject ptr = GCO->GuiObjectPTR
        return GO->Signal
    end function

    function RC overload (GO as GuiObject ptr) as uinteger
        dim TmpRC as uinteger
        if GO->ThreadID <> 0 then
            'Mutexlock GO->ThreadMutex
            TMPRC = GO->ReturnValue
            'Mutexunlock GO->ThreadMutex
            return TMPRC
        else
            return GO->DoEvents
        end if
    end function

    function RC overload(MyObject as any ptr) as uinteger
        'If MyObject = 0 then MyObject = GuiPtrTools.RootObject->MyObject
        Dim GCO as GuiObjectControl ptr = MyObject
        Dim GO as GuiObject ptr = GCO->GuiObjectPTR
        dim TmpRC as uinteger
        if GO->ThreadID <> 0 then
            'Mutexlock GO->ThreadMutex
            TMPRC = GO->ReturnValue
            'Mutexunlock GO->ThreadMutex
            return TMPRC
        else
            return GO->DoEvents
        end if
    end function