Using Win32 functions in Visual FoxPro Image Gallery
Code examples:
Reading keys in the specified section of the Win.ini file
Using the Semaphore object
Another way to go online (it is not about choosing an ISP)
Enumerating connections made to a shared resource for the local computer (WinNT only)
Enumerating the subkeys of a user-specific key
Opening access to the Microsoft Internet functions for the application
Pocket PC: creating backup for the System Registry
Using GetBinaryType (WinNT only) to determine the type of an executable file
Dynamic strings implemented through VFP Custom class
How to test file attributes (key method for FileExists and DirectoryExists routines)
Retrieving geometrical parameters of the system desktop window
Retrieving the System Time adjustment
Searching for the specified file using the SearchPath
Converting path to original case
GDI+: Using Scale and Shear transformations
An alternative way of setting Form.Closable to False
Displaying the main Dial-Up Networking dialog box
How to fill a buffer with random bytes using Cryptography API Functions
PocketPC: creating directories and files
Retrieving various system metrics
Power capabilities of the system: battery, UPS, sleep and hibernation modes, processor throttling
Reading STARTUPINFO structure for the current VFP session
Testing Transparent Menu Class with top-level form (requires VFP9)
Using the CopyFile
Using shared memory to exchange data between two FoxPro applications

User rating: 0/10 (0 votes)
Rate this code sample:
  • ~
More code examples    Listed functions    Add comment     W32 Constants      Translate this page Printer friendly version of this code sample
Before you begin:
Presented below the SharedMemory class uses FileMapping API calls to allocate a block of memory accessible from any FoxPro application that can instantiate this class. All applications share the name of this memory buffer, for example "MYAPPSHAREDMEMORY".



To test this class, start two or more VFP executables and run this code in each session:

LOCAL oForm As TForm
oForm = CREATEOBJECT("Tform")
oForm.Show(1)
* end of main

DEFINE CLASS Tform As Form
        Width=460
        Height=200
        Caption="Using shared memory to exchange " +;
                "data between processes"
        smObject=NULL
        
        ADD OBJECT txtSharedMemory As EditBox WITH;
        Left=5, Top=10, Width=450, Height=120
        
        ADD OBJECT cmdReadFromMemory As CommandButton WITH;
        Left=40, Top=150, Width=190, Height=27,;
        Caption="Read From Shared Memory"

        ADD OBJECT cmdWriteToMemory As CommandButton WITH;
        Left=230, Top=150, Width=190, Height=27,;
        Caption="Write To Shared Memory"

PROCEDURE Init
        THIS.smObject = CREATEOBJECT("SharedMemory",;
                "MYAPPSHAREDMEMORY", 1024)

PROCEDURE cmdReadFromMemory.Click
        ThisForm.txtSharedMemory.Value =;
                ThisForm.smObject.ReadFromSharedMemory()

PROCEDURE cmdWriteToMemory.Click
        LOCAL cBuffer
        cBuffer = PADR(ThisForm.txtSharedMemory.Value,;
                ThisForm.smObject.GetSharedMemorySize())
        ThisForm.smObject.WriteToSharedMemory(m.cBuffer)
ENDDEFINE

See also:
  • Using a Semaphore object to prevent VFP application from running more than one instance
  • Using Windows Clipboard for passing data records between VFP applications
  •  
      Members area. Log in to view this example.
     
      User name:
      Password:
     
     
      Forgot your password?
     
      Sign up for
    the Membership
     
     


    User rating: 0/10 (0 votes)
    Rate this code sample:
    • ~
    4228 bytes  
    Created: 2005-10-28 12:15:17  
    Modified: 2011-12-10 09:20:22  
    Visits in 7 days: 68  
    Listed functions:
    CloseHandle
    CreateFileMapping
    CreateMutex
    GetLastError
    MapViewOfFile
    ReleaseMutex
    UnmapViewOfFile
    WaitForSingleObject
    Printer friendly API declarations
    My comment:
    Mutex object is used to synchronize access to the shared memory block.
    Word Index links for this example:
    Translate this page:
      Spanish    Portuguese    German    French    Italian  
    FreeTranslation.com offers instant, free translations of text or web pages.
    User Contributed Notes:
    There are no notes on this subject.


    Copyright © 2001-2013 News2News, Inc. Before reproducing or distributing any data from this site please ask for an approval from its owner. Unless otherwise specified, this page is for your personal and non-commercial use. The information on this page is presented AS IS, meaning that you may use it at your own risk. Microsoft Visual FoxPro and Windows are trade marks of Microsoft Corp. All other trademarks are the property of their respective owners. 

    Privacy policy
    Credits: PHP (4.4.9), an HTML-embedded scripting language, MySQL (5.1.55-log), the Open Source standard SQL database, AceHTML Freeware Version 4, freeware HTML Editor of choice.   Hosted by Korax Online Inc.
    Last Topics Visited (67.202.9.192)
    4 sec.Function: 'IsNetworkAlive'
    Function group: 'System Information'
    7 sec.Function: 'SQLDisconnect'
    39.28 min.Example: 'Loading a string resource from an executable file'
    39.33 min.Function: 'CoTaskMemFree'
    1.44 hrs.Function: 'GetSystemWow64Directory'
    Function group: 'System Information'
    1.45 hrs.Function: 'EnumPrintProcessors'
     Example: 'How to display picture stored in enhanced-format metafile (*.emf)'
    2.44 hrs.Function: 'ShowHTMLDialog'
    2.88 hrs.
    Function group: 'Raw Input'
     Example: 'Reading data from INI files'
    Google
    Advertise here!