home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
prgramer
/
info
/
dde_doc.txt
< prev
next >
Wrap
Text File
|
1993-04-05
|
22KB
|
335 lines
DDE and Clipboard Exchange Between WIN-OS/2 and PM 4/2/93
==================================================
Quick notes from the Boca Programming Center about DDE and clipboard
Exchange between PM and VDM's or between VDM's.
The implementation and configuration of DDE and Clipboard depends upon
which version of OS/2 is installed. Basically, there are two different
implementations of DDE and Clipboard, either GA (version 2.0) or post
GA (any RELEASE AFTER GA 2.0).
DDE (DYNAMIC DATA EXCHANGE)
===========================
Implementation
--------------
In OS/2 2.x, all DDE communication between WIN-OS/2 and PM (or
between separate WIN-OS/2 sessions) is handled by "agents". These
agents are responsible for the conversion of the DDE protocol and
formats. They must be running for DDE communication to take place
between sessions.
PUBLIC - DDE messages are exported and imported between PM and
WIN-OS/2 sessions.
PRIVATE - DDE messages are contained within the one session only.
No data will be transferred out of or into the vdm.
OS/2 2.0
--------
The following are the names and locations of the agents needed
to make DDE public:
c:\os2\pmdde.exe (PM DDE agent)
c:\os2\mdos\winos2\ddeagent.exe (WIN-OS/2 DDE agent)
c:\os2\mdos\winos2\vdmserver.exe (inter-vdm IPC handler)
In the c:\os2\mdos\winos2\system.ini, the following statements
are required to start the WIN-OS/2 DDE Agent:
SAVDMApps=!gopm,!clipwos2,!ddeagent
MAVDMApps=!gopm,!clipwos2,!ddeagent
WOS2VDMApps=!clipwos2,!ddeagent
DDE is "automatically" set public by the presence of the
!ddeagent entry. The !ddeagent entry starts and minimizes the
WIN-OS/2 DDE Agent when a vdm is loaded.
PM
--
An entry for "Data Update" should be in the PM Window List
after executing a WIN-OS/2 session. Should this get closed, PM
DDE communication will become private. DDE messages will be
transferred between vdm's but not to PM. To restart Data Update,
open the "Productivity" folder located in "OS/2 System" folder an
double-click on the "Data Update" object.
WIN-OS/2
--------
An entry for "DDE Interchange Agent" should be in the WIN-OS/2
Task List. Should this get closed, DDE communication becomes
private for this vdm. To restart the DDE Agent, click on the
DDE Interchange Agent located in the "WIN-OS/2 Accessories"
folder.
Changing Default from Public to Private
---------------------------------------
DDE defaults to public. To change the default remove the
!ddeagent entries from the system.ini file.
To set a particular vdm private, close the "DDE Interchange
Agent" in the respective vdm by clicking once with the left
mouse button on the minimized "DDE Interchange Agent" icon and
selecting close.
Note : There is no way to selectively set DDE private in
seamless WIN-OS/2 sessions.
2.0+ (Anything after 2.0)
-------------------------
The agents have been converted from executables to dll's, and
are loaded if the you have specified that you want DDE to be
public.
Required files:
c:\os2\pmdde.dll (the PM DDE agent)
c:\os2\mdos\winos2\system\winsdde.dll (the WIN-OS/2 DDE agent)
c:\os2\mdos\vwin.sys (inter-vdm IPC handler)
There are no required entries in the c:\os2\mdos\winos2\system.ini
file. DDE is "automatically" made public when the above dll's
are loaded during vdm startup. If the dll's are not present, DDE
will be private.
You will no longer see an entry for "Data Update" in the PM
You will no longer see an entry for "Data Update" in the PM
Window List or "DDE Interchange Agent" the WIN-OS/2 Task List.
Changing Default from Public to Private
---------------------------------------
DDE still defaults to public, but there are now settings which
allow you to switch between public and private. To change
the default use the "WIN-OS/2 Setup" object located in the
"System Setup" folder which is in the "OS/2 System" folder.
- Set Dynamic Data Exchange private on the Data Exchange page
to stop DDE communication between PM and WIN-OS/2.
- Set the WIN_DDE WIN-OS/2 setting "off" to make all vdm's
private. This setting is accessed through the push button
on the 3.1 Session Page.
Special Considerations
----------------------
When running full screen,VIDEO_SWITCH_NOTIFICATION must be set
to "On" and VIDEO_8514A_XGA_IOTRAP must be set to "Off".
Note: With OS/2 2.1, VIDEO_8514A_XGA_IOTRAP has been renamed
to VIDEO_DEVICE_IOTRAP.
For any release of OS/2 other than 2.1, these settings are not the
default. These setting are located on the WIN-OS/2 Settings page.
The setting page is displayed when you click on the "WIN-OS/2
Settings" push button located on the "Settings" notebook page for
an object. The "Settings" notebook page can be displayed by
pressing the RIGHT mouse button on an object, and selecting the
"Settings" submenu of the "Open" menu item.
It is also recommended that the os/2 desktop icon
(in the lower left-hand side of the screen) is used to
when switching out of a fullscreen session. Using
alt-esc to switch between sessions has been known to
cause some applications (such as Excel) to ignore DDE
messages. (The alt key puts applications into menu-mode.)
Known Restrictions
------------------
The ONLY coding recommendation is that a Windows DDE Client
application should not broadcast the following during the
processing of its WM_CREATE message:
SendMessage
(0xFFFF,WM_DDE_INITIATE,hwnd,MAKELONG (atomAppName, atomTopic))
In later versions of OS/2 (post GA 2.0) the dll's required to
exchange DDE between WIN-OS/2 and PM may still be in the process
of being loaded.
CLIPBOARD
=========
Implementation
--------------
In OS/2 2.x, all exchange of clipboard formats between WIN-OS/2
and PM, or between separate WIN-OS/2 sessions, is also handled by
"agents". These agents are responsible for the conversion of the
clipboard formats. They must be running for clipboard information
to be exchanged between sessions.
PUBLIC - Clipboard formats are exported and imported between PM and
WIN-OS/2 sessions.
PRIVATE - Clipboard data is contained within a single session only.
No clipboard data will be transferred out of or into the
vdm.
OS/2 2.0
--------
The following are the names and locations of the agents needed to
make clipboard public:
c:\os2\clipos2.exe (PM clipboard agent/viewer)
c:\os2\mdos\winos2\clipwos2.exe (WIN-OS/2 clipboard agent/viewer
c:\os2\mdos\winos2\vdmserver.exe (inter-vdm IPC handler)
In the c:\os2\mdos\winos2\system.ini, the following statements are
required to start the WIN-OS/2 clipboard agent:
SAVDMApps=!gopm,!clipwos2,!ddeagent
MAVDMApps=!gopm,!clipwos2,!ddeagent
WOS2VDMApps=!clipwos2,!ddeagent
Clipboard is "automatically" set public by the presence of the
!clipwos2 entry. The !clipwos2 entry starts and minimizes the
WIN-O/2 Clipboard Agent when a vdm is loaded.
PM
--
An entry for "Clipboard" should be in the PM Window List after
executing a WIN-OS/2 session. Should this get closed, PM's
clipboard will become private. Data will be transferred between
vdm's but not to PM. To restart the PM Clipboard, open the
"Productivity" folder located in "OS/2 System" folder and
double-click on the "Clipboard Viewer" object.
WIN-OS/2
--------
An entry for "Clipboard" should be in the WIN-OS/2 Task List.
Should this get closed, the vdm's clipboard will become private.
To restart the clipboard, click on the clipboard object located
in the "WIN-OS/2 Accessories" folder.
Changing Default from Public to Private
---------------------------------------
Clipboard defaults to public. To change the default remove the
!clipwos2 entries from the system.ini file.
To set a particular vdm private, deselect "Public Clipboard"
which is located in the "Options" menu bar of the WIN-OS/2
Clipboard Viewer.
Note : There is no way to selectively set the clipboard private
in seamless WIN-OS/2 sessions.
2.0+ (Anything after 2.0)
-------------------------
The agents have been converted from executables to dll's, and are
loaded if you have specified that you want the clipboard to
be public.
Required files:
c:\os2\pmclip.dll (PM Clipboard agent)
c:\os2\mdos\winos2\system\winsclip.dll (WIN-OS/2 Clipboard agent
c:\os2\mdos\vwin.sys (inter-vdm IPC handler)
There are no required entries in the c:\os2\mdos\winos2\system.ini
file. Clipboard is "automatically" made public when the above dll's
are loaded during vdm startup. If the dll's are not present,
clipboard will be private.
You will no longer see an entry for "Clipboard" in the PM Window
List or the WIN-OS/2 Task List.
Changing Default from Public to Private
---------------------------------------
Setting the clipboard to public or private is no longer done with
the Clipboard Viewer. To change the default use the
"WIN-OS/2 Setup" object located in the "System Setup" folder
which is in the "OS/2 System" folder.
- Set Clipboard "private" on the Data Exchange page to
stop the transferring of clipboard data between PM and
WIN-OS/2.
- Set the WIN_CLIPBOARD setting "off" to make all vdm's private.
This is accessed through the push button on the 3.1 Session
Page.
To set a particular vdm private, set the WIN_CLIPBOARD setting
"off" for that vdm. This is accessed through the vdm's notebook
settings. Click on the WIN-OS/2 settings push button on the
session page and set WIN_CLIPBOARD "off".
Special Considerations
----------------------
When running full screen,VIDEO_SWITCH_NOTIFICATION must be set
to "On" and VIDEO_8514A_XGA_IOTRAP must be set to "Off".
Note: With OS/2 2.1, VIDEO_8514A_XGA_IOTRAP has been renamed
to VIDEO_DEVICE_IOTRAP.
For any release of OS/2 other than 2.1, these settings are not the
default. These setting are located in the WIN-OS/2 Settings page.
The setting page is displayed when you click on the "WIN-OS/2
Settings" push button located on the "Settings" notebook page for
an object . The "Settings" notebook page can be displayed by
pressing the RIGHT mouse button on an object, and selecting the
"Settings" submenu of the "Open" menu item.
Known Restrictions
------------------
- No metafile/picture format conversion between WIN-OS/2 and PM.
If a PM application copies a metafile to the clipboard, the
agents do not transfer this format to the WIN-OS/2 clipboard.
If a Windows application copies a picture to the clipboard, the
agents do not transfer this format to the PM clipboard.
DEVELOPMENT
===========
There are no special coding requirements (except those specified
under DDE, Known Restrictions) to transfer clipboard or DDE data
between WIN-OS/2 and PM. A developer simply codes the application
in its native environment. That is, if you are writing an
application for the PM environment you would code it as if you are
communicating with another PM application. The same applies to the
WIN-OS/2 environment.
ADDITIONAL INFORMATION
======================
See the "README" located in the root directory of the drive on which
you installed OS/2 (for example c:\readme) for additional DDE and
clipboard considerations. Additional information can be found in the
"Master Help Index", subjects entitled "DDE (dynamic data exchange)"
and "CLIPBOARD".
Regards Glenn Puchtel (Boca Programming Center)
Lisa Garcia (Boca Programming Center)