Français
Stammtisch & le café

GlobalAlloc.

 


Beschreibung:

Alloziert une Speicherblock aus dem Heap




Deklaration:

Def GlobalAlloc(2) !kernel32, GlobalAlloc




paramètre:

1.paramètre: une Kombination suivant Konstanten:
~GMEM_FIXED = $0, peux pas avec ~GMEM_MOVEABLE ou bien ~GMEM_DISCARDABLE kombiniert volonté

~GMEM_MOVEABLE = $2, peux pas avec ~GMEM_FIXED kombiniert volonté

~GPTR = $40
~GHND = $42
~GMEM_DDESHARE = $2000
~GMEM_DISCARDABLE = $100, peux pas avec ~GMEM_FIXED kombiniert volonté

~GMEM_NOCOMPACT = $10
~GMEM_NODISCARD = $20
~GMEM_SHARE = $2000
~GMEM_ZEROINIT = $40, Initialisiert den Speicherinhalt avec zéro

2.paramètre: Size& (Taille des Mémoire dans Byte)



Rückgabewert:

Im Fehlerfalle 0, ansonsten Handle des allozierten Speicherobjekts

Beispiel:

KompilierenMarqueSéparation
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  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.411 Views

Untitledvor 0 min.
Ernst27.04.2016
Michael Borowiak22.12.2012

Themeninformationen

cet Thema hat 2 participant:

iF (1x)
unbekannt (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie