Español
Stammtisch & Café

GlobalAlloc.

 


Descripción:

Alloziert una Speicherblock de el Heap




Deklaration:

Def GlobalAlloc(2) !kernel32, GlobalAlloc




Parámetro:

1.Parámetro: Un Kombination folgender Konstanten:
~GMEM_FIXED = $0, kann no con ~GMEM_MOVEABLE oder ~GMEM_DISCARDABLE kombiniert voluntad

~GMEM_MOVEABLE = $2, kann no con ~GMEM_FIXED kombiniert voluntad

~GPTR = $40
~GHND = $42
~GMEM_DDESHARE = $2000
~GMEM_DISCARDABLE = $100, kann no con ~GMEM_FIXED kombiniert voluntad

~GMEM_NOCOMPACT = $10
~GMEM_NODISCARD = $20
~GMEM_SHARE = $2000
~GMEM_ZEROINIT = $40, Initialisiert el Speicherinhalt con Null

2.Parámetro: Size& (Größe des Speichers en Byte)



Rückgabewert:

Im Fehlerfalle 0, ansonsten Handle des allozierten Speicherobjekts

Ejemplo:

KompilierenMarcaSeparación
Def GlobalAlloc(2) !KERNEL32.DLL, GlobalAlloc
Def GlobalFree(1)  !KERNEL32.DLL, GlobalFree
Def MoveMemory(3)  !KERNEL32, RtlMoveMemory

Proc PeekL

    Parameters ReadMemoryAddr&
    Declare Value&, Result!
    MoveMemory(Addr(Value&), ReadMemoryAddr& + 2, 2)
    Result! = Value& * 2^16
    MoveMemory(Addr(Value&), ReadMemoryAddr&, 2)
    Result! = Result! + Value&
    Return Result!

EndProc

Proc PokeL

    Parameters WriteMemoryAddr&, Value!
    Declare Value&

    If (Value! > -1) And (Value! < 2^32)

        If Value! - (2^16 - 1) > 0

            Value& = Value!  2^16

        Else

            Value& = 0

        EndIf

        MoveMemory(WriteMemoryAddr& + 2, @Addr(Value&), 2)
        Value& = Int(Value! - (Value& * 2^16))
        MoveMemory(WriteMemoryAddr&, Addr(Value&), 2)

    Else

        MessageBox(Zahl zu groß!, Wichtiger Hinweis, 48)

    EndIf

EndProc

Declare hMem&
4 Byte = Long Speicher reservieren
hMem& = GlobalAlloc($40, 4)

If hMem&

    Speicher mit 1111 füllen
    PokeL hMem&, 1111
    Speicher auslesen und in MessageBox wiedergeben
    MessageBox(In Adresse:  + Str$(hMem&) +  steht folgender Wert:  + Str$(Int(PeekL(hMem&))) , Inhalt des Speicher, 0)
    Speicherobjekt freigeben
    GlobalFree(hMem&)

Else

    MessageBox(Speicher konnte nicht reserviert werden, Wichtiger Hinweis, 48)

href='./../funktionsreferenzen/XProfan/endif/'>EndIf



GlobalLock, GlobalReAlloc, GlobalFree

 
24.05.2005  
 



Salve
 
24.05.2005  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.406 Views

Untitledvor 0 min.
Ernst27.04.2016
Michael Borowiak22.12.2012

Themeninformationen

Dieses Thema ha 2 subscriber:

iF (1x)
unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie