Español
Fuente/ Codesnippets

Datenaustausch Programmen Zwischen

 

KompilierenMarcaSeparación
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Datenaustausch zwischen Programmen
PROFAN²-NT-TEAM-Vorlage
Autor: Sven Schmidts, concept/design
Titel: SharedMemory
Beschreibung: Das Programm ermöglicht die gemeinsame Nutzung von Speicher. Anwendungen
können so leichter Daten untereinander austauschen (Strings).
Anmerkung: Benötigt RGH-PROFAN² ab Version 7.0
Copyright © 2000-2001 Sven Schmidts, schmidts@cdesign.de
Prozeduren :
- OpenMap MapName$, Size&
Öffnet ein Mapping. MapName$ bezeichnet den Namen des Mappings.
Size& bezeichnet die max. Größe in Byts, die gespeichert werden.
Defaultwert ist 4096 Bytes sein, maximal ca 2 GByte. Anwendungen, die
gemeinsam einen Speicher nutzen wollen, müssen als MapName$ dasselbe angeben.
- CloseMap
Schliesst das Mapping wieder
- ReadStrFromMap
Liest den momentanen Inhalt als String aus
- WriteStrToMap Text$
Schreibt den String Text$ in das Mapping
Def CreateFileMapping(6) !KERNEL32,CreateFileMappingA
Def UnmapViewOfFile(1) !KERNEL32,UnmapViewOfFile
Def MapViewOfFile(5) !KERNEL32,MapViewOfFile
Def CloseHandle(1) !KERNEL32,CloseHandle;
Declare HandleMap&, ViewPointer&, Buffer#

Proc OpenMap

    Parameters MapName$, Size&
    HandleMap& = CreateFileMapping($FFFFFFFF,0, 402653188,0,Size&,Addr(MapName$))

    If HandleMap& <= 0

        MessageBox(Fehler beim erstellen des Mappings !,Fehler,16)

    Else

        ViewPointer& = MapViewOfFile(HandleMap&, 983071, 0, 0, 0)
        Case ViewPointer& = 0 : MessageBox(Fehler beim erstellen des Views !,Fehler,16)

    Endif

EndProc

Proc CloseMap

    UnMapViewOfFile(ViewPointer&)
    CloseHandle(HandleMap&)

EndProc

Proc ReadStrFromMap

    Lesen
    Declare Ergebnis$, OldBuffer&

    If ViewPointer& <> 0

        Dim Buffer#, 512
        OldBuffer& = Buffer#
        Buffer# = ViewPointer&
        Ergebnis$ = String$(Buffer#,0)
        Buffer# = OldBuffer&
        Dispose Buffer#

    EndIf

    Return Ergebnis$

EndProc

Proc WriteStrToMap

    Schreiben
    Parameters Text$
    Declare OldBuffer&

    If ViewPointer& <> 0

        Dim Buffer#, Len(Text$)+1
        OldBuffer& = Buffer#
        Buffer# = ViewPointer&
        String Buffer#,0 = Text$
        Buffer# = OldBuffer&
        Dispose Buffer#

    EndIf

EndProc

Beispiel Programm
Compileren und zweimal starten, austausch vom Text mittels Lesen / Schreiben
cls
Declare E%, Ende%, Lesen%, Schreiben%, Edit%
Let Ende%= CreateButton(%Hwnd,Ende,10,10,90,20)
Let Lesen%= CreateButton(%Hwnd,Speicher lesen,110,10,120,20)
Let Schreiben%= CreateButton(%Hwnd,Speicher schreiben,240,10,140,20)
Let Edit% = CreateEdit(%Hwnd,,10,40,600,22)
OpenMap TestMap, 4096

WhileNot E%

    SetFocus(Edit%)
    WaitInput

    If GetFocus(Ende%)

        Let E% = 1

    ElseIf GetFocus(Lesen%)

        ReadStrFromMap
        SetText Edit%,$(0)

    ElseIf GetFocus(Schreiben%)

        WriteStrToMap GetText$(Edit%)

    EndIf

Wend

CloseMap
 
15.07.2007  
 



Zum Quelltext


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.559 Views

Untitledvor 0 min.
rquindt13.12.2015
Profanet25.10.2011
Torsten Boo05.03.2011

Themeninformationen

Dieses Thema ha 1 subscriber:

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