Exchanging Data Between Two PowerBuilder Applications

This is a multi-part message in MIME format.

------=_NextPart_000_0265_01C4F318.55FDAF30
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hello.  I am trying to figure out a way to send a String from one =
running PB application to another running PB application.  From my =
research so far, it looks like the SendMessage API call comes close, and =
I think it might actually do the trick if I were sending a Long instead =
of a String.  However, I definitely need to send character data, and I =
am unable to come up with a solution in that regard.  I am running =
PowerBuilder 9 on Windows XP.

Would anyone have any ideas?  Any suggestions would be greatly =
appreciated.

Kevin
------=_NextPart_000_0265_01C4F318.55FDAF30
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1479" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT size=3D2>Hello.&nbsp; I am trying to figure out a way to send =
a=20
<EM>String</EM> from one running PB application to another running PB=20
application.&nbsp; From my research so far, it looks like the=20
<EM>SendMessage</EM> API call comes close, and I think it might actually =
do the=20
trick if I were sending a Long instead of a String.&nbsp; However, I =
definitely=20
need to send character data, and I am unable to come up with a solution =
in that=20
regard.&nbsp; I am running PowerBuilder 9 on Windows XP.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Would anyone have any ideas?&nbsp; Any suggestions =
would be=20
greatly appreciated.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Kevin</FONT></DIV></BODY></HTML>

------=_NextPart_000_0265_01C4F318.55FDAF30--

0
Kevin
1/5/2005 5:18:51 PM
sybase.powerbuilder.general 62418 articles. 19 followers. Follow

9 Replies
751 Views

Similar Articles

[PageSpeed] 49

Unless you absolutely need direct communications why not share thru a common
text file?

Greg
"Kevin" <kah@asus.net> wrote in message news:41dc217b$1@forums-1-dub...
Hello.  I am trying to figure out a way to send a String from one running PB
application to another running PB application.  From my research so far, it
looks like the SendMessage API call comes close, and I think it might
actually do the trick if I were sending a Long instead of a String.
However, I definitely need to send character data, and I am unable to come
up with a solution in that regard.  I am running PowerBuilder 9 on Windows
XP.

Would anyone have any ideas?  Any suggestions would be greatly appreciated.

Kevin


0
GW
1/5/2005 5:24:38 PM
This is a multi-part message in MIME format.

------=_NextPart_000_02A1_01C4F320.0EC570A0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Thank you for the quick reply, Greg.  I will be using an API call to =
alert the target app that it is to become active.  My thinking was that =
since I needed to do that anyway, I would use another API call to just =
send the necessary text as well.  Unfortunately, that's when I found out =
that was easier said than done.  All things being equal, I would still =
prefer to use another API call or something similar, since it would =
ultimately be the lesser maintanence of the two (I do not have to worry =
about keeping the file "clean" and the like).  I just never would have =
thought it would have been this difficult to use (or find) a Windows API =
call to simply send a text string from one app to another.

All that being said, unless there are some more ideas posted, I will go =
the text file route, as this is the only alternative I can think of as =
well.  Thanks again for your suggestion.

Kevin

<GW> wrote in message news:41dc22d6$1@forums-1-dub...
> Unless you absolutely need direct communications why not share thru a =
common
> text file?
>=20
> Greg
> "Kevin" <kah@asus.net> wrote in message =
news:41dc217b$1@forums-1-dub...
> Hello.  I am trying to figure out a way to send a String from one =
running PB
> application to another running PB application.  From my research so =
far, it
> looks like the SendMessage API call comes close, and I think it might
> actually do the trick if I were sending a Long instead of a String.
> However, I definitely need to send character data, and I am unable to =
come
> up with a solution in that regard.  I am running PowerBuilder 9 on =
Windows
> XP.
>=20
> Would anyone have any ideas?  Any suggestions would be greatly =
appreciated.
>=20
> Kevin
>=20
> 
------=_NextPart_000_02A1_01C4F320.0EC570A0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1479" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT size=3D2>Thank you for the quick reply, Greg.&nbsp; I will be =
using an=20
API call to alert the target app that it is to become active.&nbsp; My =
thinking=20
was that since I needed to do that anyway, I would use another API call =
to just=20
send the necessary text as well.&nbsp; Unfortunately, that's when I =
found out=20
that was easier said than done.&nbsp; All things being equal, I =
would&nbsp;still=20
prefer to use another API call or something similar, since it would =
ultimately=20
be the lesser maintanence of the two (I do not have to worry about =
keeping the=20
file "clean" and the like).&nbsp; I just never would have thought it =
would have=20
been this difficult to use (or find) a Windows API call to simply send a =
text=20
string from one app to another.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>All that being said, unless there are some more =
ideas posted,=20
I will go the text file route, as this is the only alternative I can =
think of as=20
well.&nbsp; Thanks again for your suggestion.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Kevin</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>&lt;GW&gt; wrote in message </FONT><A=20
href=3D"news:41dc22d6$1@forums-1-dub"><FONT face=3DArial=20
size=3D2>news:41dc22d6$1@forums-1-dub</FONT></A><FONT face=3DArial=20
size=3D2>...</FONT></DIV><FONT face=3DArial size=3D2>&gt; Unless you =
absolutely need=20
direct communications why not share thru a common<BR>&gt; text =
file?<BR>&gt;=20
<BR>&gt; Greg<BR>&gt; "Kevin" &lt;</FONT><A =
href=3D"mailto:kah@asus.net"><FONT=20
face=3DArial size=3D2>kah@asus.net</FONT></A><FONT face=3DArial =
size=3D2>&gt; wrote in=20
message </FONT><A href=3D"news:41dc217b$1@forums-1-dub"><FONT =
face=3DArial=20
size=3D2>news:41dc217b$1@forums-1-dub</FONT></A><FONT face=3DArial=20
size=3D2>...<BR>&gt; Hello.&nbsp; I am trying to figure out a way to =
send a String=20
from one running PB<BR>&gt; application to another running PB =
application.&nbsp;=20
From my research so far, it<BR>&gt; looks like the SendMessage API call =
comes=20
close, and I think it might<BR>&gt; actually do the trick if I were =
sending a=20
Long instead of a String.<BR>&gt; However, I definitely need to send =
character=20
data, and I am unable to come<BR>&gt; up with a solution in that =
regard.&nbsp; I=20
am running PowerBuilder 9 on Windows<BR>&gt; XP.<BR>&gt; <BR>&gt; Would =
anyone=20
have any ideas?&nbsp; Any suggestions would be greatly =
appreciated.<BR>&gt;=20
<BR>&gt; Kevin<BR>&gt; <BR>&gt; </FONT></BODY></HTML>

------=_NextPart_000_02A1_01C4F320.0EC570A0--

0
Kevin
1/5/2005 6:14:08 PM
I have never had to do anything like what your trying so am not much help to
you. What about pasting the value to the windows clipboard? As long as it
doesn't get changed while in transfer that might work? Just a thought

Greg
"Kevin" <kah@asus.net> wrote in message news:41dc2e70$1@forums-1-dub...
Thank you for the quick reply, Greg.  I will be using an API call to alert
the target app that it is to become active.  My thinking was that since I
needed to do that anyway, I would use another API call to just send the
necessary text as well.  Unfortunately, that's when I found out that was
easier said than done.  All things being equal, I would still prefer to use
another API call or something similar, since it would ultimately be the
lesser maintanence of the two (I do not have to worry about keeping the file
"clean" and the like).  I just never would have thought it would have been
this difficult to use (or find) a Windows API call to simply send a text
string from one app to another.

All that being said, unless there are some more ideas posted, I will go the
text file route, as this is the only alternative I can think of as well.
Thanks again for your suggestion.

Kevin

<GW> wrote in message news:41dc22d6$1@forums-1-dub...
> Unless you absolutely need direct communications why not share thru a
common
> text file?
>
> Greg
> "Kevin" <kah@asus.net> wrote in message news:41dc217b$1@forums-1-dub...
> Hello.  I am trying to figure out a way to send a String from one running
PB
> application to another running PB application.  From my research so far,
it
> looks like the SendMessage API call comes close, and I think it might
> actually do the trick if I were sending a Long instead of a String.
> However, I definitely need to send character data, and I am unable to come
> up with a solution in that regard.  I am running PowerBuilder 9 on Windows
> XP.
>
> Would anyone have any ideas?  Any suggestions would be greatly
appreciated.
>
> Kevin
>
>


0
GW
1/5/2005 6:39:10 PM
This always sounds much easier than it really is.  The biggest problem is
that "string" implies access to memory; it is difficult to provide more than
"register-sized" amounts of data to another application (and
"register-sized" implies numeric although interpretation is
usage-dependent).  You can peruse (sp? real word?) the msdn site for IPC (or
any other topic you desire) to get an idea of the complexities of various
techniques.


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipc/base/interprocess_communications.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/synchronization.asp

 Personally, I would go for the synchronized use of a file for simplicity if
you must pass strings of unknown length and your requirements are relatively
simple and you don't want to be thrown into the complexities of a new API.
It will still require some sort of synchronization logic or polling logic
(which can be done all within PB).   DDE is another potential mechanism that
can be implemented within PB.  If you have the desire/time to dig into the
platform facilities, the IPC link covers those mechanisms provided by the
OS.  Difficult but do-able and worth the effort.

Another technique is to share a simple database table - the applications
only need to poll (i.e., select) for new messages.

"Kevin" <kah@asus.net> wrote in message news:41dc2e70$1@forums-1-dub...
Thank you for the quick reply, Greg.  I will be using an API call to alert
the target app that it is to become active.  My thinking was that since I
needed to do that anyway, I would use another API call to just send the
necessary text as well.  Unfortunately, that's when I found out that was
easier said than done.  All things being equal, I would still prefer to use
another API call or something similar, since it would ultimately be the
lesser maintanence of the two (I do not have to worry about keeping the file
"clean" and the like).  I just never would have thought it would have been
this difficult to use (or find) a Windows API call to simply send a text
string from one app to another.

All that being said, unless there are some more ideas posted, I will go the
text file route, as this is the only alternative I can think of as well.
Thanks again for your suggestion.

Kevin

<GW> wrote in message news:41dc22d6$1@forums-1-dub...
> Unless you absolutely need direct communications why not share thru a
common
> text file?
>
> Greg
> "Kevin" <kah@asus.net> wrote in message news:41dc217b$1@forums-1-dub...
> Hello.  I am trying to figure out a way to send a String from one running
PB
> application to another running PB application.  From my research so far,
it
> looks like the SendMessage API call comes close, and I think it might
> actually do the trick if I were sending a Long instead of a String.
> However, I definitely need to send character data, and I am unable to come
> up with a solution in that regard.  I am running PowerBuilder 9 on Windows
> XP.
>
> Would anyone have any ideas?  Any suggestions would be greatly
appreciated.
>
> Kevin
>
>


0
Scott
1/5/2005 6:46:57 PM
"Kevin" <kah@asus.net> wrote in message news:41dc217b$1@forums-1-dub...
Hello.  I am trying to figure out a way to send a String from one running PB application to another running PB 
application.  From my research so far, it looks like the SendMessage API call comes close, and I think it might actually 
do the trick if I were sending a Long instead of a String.  However, I definitely need to send character data, and I am 
unable to come up with a solution in that regard.  I am running PowerBuilder 9 on Windows XP.

Would anyone have any ideas?  Any suggestions would be greatly appreciated.

Kevin
---------------------------------------------------------
We've used a combination of things...
Caller writes information into a specific registry key, then does a Send() to the "called" app.  The "called" app 
receives the message in it's custom PBM_customXX event.  It then reads the info out of the registry key, and cleans it 
out.

-- 
Paul Horan[TeamSybase]


0
Paul
1/5/2005 7:27:32 PM
This is a multi-part message in MIME format.

------=_NextPart_000_02D2_01C4F330.3B5F2F10
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Thank you for the links, Scott.  That is definitely hitting the nail no =
the head as far as what I am trying to accomplish.  As you indicated, =
however, it's more complex than I would have originally thought.

I have not had any experience using DDE, but when I looked at the Help =
file, I saw that it was exactly what I was looking for.  The confusing =
thing is that neither of the two apps will always be the server or =
always be the client.  App 1 may be opened or activated by App 2 or =
vise-versa, and character data is sent back and forth in either =
situation.  I am not sure if I have to specify from the start which is =
the server and if I can switch it on the fly (as in, when App 2 is =
activated, it now becomes the server and if App 1 is needed, a channel =
is then opened to it).  Maybe I am making DDE more complicated than it =
is.

Between you and Greg, that writing to a file technique is sounding =
better all the time.

Thank you both for your help and suggestions.

Kevin

"Scott Morris" <bogus@bogus.com> wrote in message =
news:41dc361d$1@forums-2-dub...
> This always sounds much easier than it really is.  The biggest problem =
is
> that "string" implies access to memory; it is difficult to provide =
more than
> "register-sized" amounts of data to another application (and
> "register-sized" implies numeric although interpretation is
> usage-dependent).  You can peruse (sp? real word?) the msdn site for =
IPC (or
> any other topic you desire) to get an idea of the complexities of =
various
> techniques.
>=20
>=20
> =
http://msdn.microsoft.com/library/default.asp?url=3D/library/en-us/ipc/ba=
se/interprocess_communications.asp
> =
http://msdn.microsoft.com/library/default.asp?url=3D/library/en-us/dllpro=
c/base/synchronization.asp
>=20
>  Personally, I would go for the synchronized use of a file for =
simplicity if
> you must pass strings of unknown length and your requirements are =
relatively
> simple and you don't want to be thrown into the complexities of a new =
API.
> It will still require some sort of synchronization logic or polling =
logic
> (which can be done all within PB).   DDE is another potential =
mechanism that
> can be implemented within PB.  If you have the desire/time to dig into =
the
> platform facilities, the IPC link covers those mechanisms provided by =
the
> OS.  Difficult but do-able and worth the effort.
>=20
> Another technique is to share a simple database table - the =
applications
> only need to poll (i.e., select) for new messages.
>=20
> "Kevin" <kah@asus.net> wrote in message =
news:41dc2e70$1@forums-1-dub...
> Thank you for the quick reply, Greg.  I will be using an API call to =
alert
> the target app that it is to become active.  My thinking was that =
since I
> needed to do that anyway, I would use another API call to just send =
the
> necessary text as well.  Unfortunately, that's when I found out that =
was
> easier said than done.  All things being equal, I would still prefer =
to use
> another API call or something similar, since it would ultimately be =
the
> lesser maintanence of the two (I do not have to worry about keeping =
the file
> "clean" and the like).  I just never would have thought it would have =
been
> this difficult to use (or find) a Windows API call to simply send a =
text
> string from one app to another.
>=20
> All that being said, unless there are some more ideas posted, I will =
go the
> text file route, as this is the only alternative I can think of as =
well.
> Thanks again for your suggestion.
>=20
> Kevin
>=20
> <GW> wrote in message news:41dc22d6$1@forums-1-dub...
> > Unless you absolutely need direct communications why not share thru =
a
> common
> > text file?
> >
> > Greg
> > "Kevin" <kah@asus.net> wrote in message =
news:41dc217b$1@forums-1-dub...
> > Hello.  I am trying to figure out a way to send a String from one =
running
> PB
> > application to another running PB application.  From my research so =
far,
> it
> > looks like the SendMessage API call comes close, and I think it =
might
> > actually do the trick if I were sending a Long instead of a String.
> > However, I definitely need to send character data, and I am unable =
to come
> > up with a solution in that regard.  I am running PowerBuilder 9 on =
Windows
> > XP.
> >
> > Would anyone have any ideas?  Any suggestions would be greatly
> appreciated.
> >
> > Kevin
> >
> >
>=20
> 
------=_NextPart_000_02D2_01C4F330.3B5F2F10
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1479" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT size=3D2>Thank you for the links, Scott.&nbsp; That is =
definitely=20
hitting the nail no the head as far as what I am trying to =
accomplish.&nbsp; As=20
you indicated, however, it's more complex than I would have originally=20
thought.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>I have not had any experience using DDE, but when I =
looked at=20
the Help file, I saw that it was exactly what I was looking for.&nbsp; =
The=20
confusing thing is that neither of the two apps will <EM>always</EM> be =
the=20
server or <EM>always</EM> be the client.&nbsp; App 1 may be opened or =
activated=20
by App 2 or vise-versa, and character data is sent back and forth in =
either=20
situation.&nbsp; I am not sure if I have to specify from the start which =
is the=20
server and if I can switch it on the fly (as in, when App 2 is =
activated, it now=20
becomes the server and if App 1 is needed, a channel is then opened to=20
it).&nbsp; Maybe I am making DDE more complicated than it =
is.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Between you and Greg, that writing to a file =
technique is=20
sounding better all the time.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Thank you both for your help and =
suggestions.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Kevin</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>"Scott Morris" &lt;</FONT><A=20
href=3D"mailto:bogus@bogus.com"><FONT face=3DArial=20
size=3D2>bogus@bogus.com</FONT></A><FONT face=3DArial size=3D2>&gt; =
wrote in message=20
</FONT><A href=3D"news:41dc361d$1@forums-2-dub"><FONT face=3DArial=20
size=3D2>news:41dc361d$1@forums-2-dub</FONT></A><FONT face=3DArial=20
size=3D2>...</FONT></DIV><FONT face=3DArial size=3D2>&gt; This always =
sounds much=20
easier than it really is.&nbsp; The biggest problem is<BR>&gt; that =
"string"=20
implies access to memory; it is difficult to provide more than<BR>&gt;=20
"register-sized" amounts of data to another application (and<BR>&gt;=20
"register-sized" implies numeric although interpretation is<BR>&gt;=20
usage-dependent).&nbsp; You can peruse (sp? real word?) the msdn site =
for IPC=20
(or<BR>&gt; any other topic you desire) to get an idea of the =
complexities of=20
various<BR>&gt; techniques.<BR>&gt; <BR>&gt; <BR>&gt; </FONT><A=20
href=3D"http://msdn.microsoft.com/library/default.asp?url=3D/library/en-u=
s/ipc/base/interprocess_communications.asp"><FONT=20
face=3DArial=20
size=3D2>http://msdn.microsoft.com/library/default.asp?url=3D/library/en-=
us/ipc/base/interprocess_communications.asp</FONT></A><BR><FONT=20
face=3DArial size=3D2>&gt; </FONT><A=20
href=3D"http://msdn.microsoft.com/library/default.asp?url=3D/library/en-u=
s/dllproc/base/synchronization.asp"><FONT=20
face=3DArial=20
size=3D2>http://msdn.microsoft.com/library/default.asp?url=3D/library/en-=
us/dllproc/base/synchronization.asp</FONT></A><BR><FONT=20
face=3DArial size=3D2>&gt; <BR>&gt; &nbsp;Personally, I would go for the =

synchronized use of a file for simplicity if<BR>&gt; you must pass =
strings of=20
unknown length and your requirements are relatively<BR>&gt; simple and =
you don't=20
want to be thrown into the complexities of a new API.<BR>&gt; It will =
still=20
require some sort of synchronization logic or polling logic<BR>&gt; =
(which can=20
be done all within PB).&nbsp;&nbsp; DDE is another potential mechanism=20
that<BR>&gt; can be implemented within PB.&nbsp; If you have the =
desire/time to=20
dig into the<BR>&gt; platform facilities, the IPC link covers those =
mechanisms=20
provided by the<BR>&gt; OS.&nbsp; Difficult but do-able and worth the=20
effort.<BR>&gt; <BR>&gt; Another technique is to share a simple database =
table -=20
the applications<BR>&gt; only need to poll (i.e., select) for new=20
messages.<BR>&gt; <BR>&gt; "Kevin" &lt;</FONT><A=20
href=3D"mailto:kah@asus.net"><FONT face=3DArial =
size=3D2>kah@asus.net</FONT></A><FONT=20
face=3DArial size=3D2>&gt; wrote in message </FONT><A=20
href=3D"news:41dc2e70$1@forums-1-dub"><FONT face=3DArial=20
size=3D2>news:41dc2e70$1@forums-1-dub</FONT></A><FONT face=3DArial=20
size=3D2>...<BR>&gt; Thank you for the quick reply, Greg.&nbsp; I will =
be using an=20
API call to alert<BR>&gt; the target app that it is to become =
active.&nbsp; My=20
thinking was that since I<BR>&gt; needed to do that anyway, I would use =
another=20
API call to just send the<BR>&gt; necessary text as well.&nbsp; =
Unfortunately,=20
that's when I found out that was<BR>&gt; easier said than done.&nbsp; =
All things=20
being equal, I would still prefer to use<BR>&gt; another API call or =
something=20
similar, since it would ultimately be the<BR>&gt; lesser maintanence of =
the two=20
(I do not have to worry about keeping the file<BR>&gt; "clean" and the=20
like).&nbsp; I just never would have thought it would have been<BR>&gt; =
this=20
difficult to use (or find) a Windows API call to simply send a =
text<BR>&gt;=20
string from one app to another.<BR>&gt; <BR>&gt; All that being said, =
unless=20
there are some more ideas posted, I will go the<BR>&gt; text file route, =
as this=20
is the only alternative I can think of as well.<BR>&gt; Thanks again for =
your=20
suggestion.<BR>&gt; <BR>&gt; Kevin<BR>&gt; <BR>&gt; &lt;GW&gt; wrote in =
message=20
</FONT><A href=3D"news:41dc22d6$1@forums-1-dub"><FONT face=3DArial=20
size=3D2>news:41dc22d6$1@forums-1-dub</FONT></A><FONT face=3DArial=20
size=3D2>...<BR>&gt; &gt; Unless you absolutely need direct =
communications why not=20
share thru a<BR>&gt; common<BR>&gt; &gt; text file?<BR>&gt; &gt;<BR>&gt; =
&gt;=20
Greg<BR>&gt; &gt; "Kevin" &lt;</FONT><A =
href=3D"mailto:kah@asus.net"><FONT=20
face=3DArial size=3D2>kah@asus.net</FONT></A><FONT face=3DArial =
size=3D2>&gt; wrote in=20
message </FONT><A href=3D"news:41dc217b$1@forums-1-dub"><FONT =
face=3DArial=20
size=3D2>news:41dc217b$1@forums-1-dub</FONT></A><FONT face=3DArial=20
size=3D2>...<BR>&gt; &gt; Hello.&nbsp; I am trying to figure out a way =
to send a=20
String from one running<BR>&gt; PB<BR>&gt; &gt; application to another =
running=20
PB application.&nbsp; From my research so far,<BR>&gt; it<BR>&gt; &gt; =
looks=20
like the SendMessage API call comes close, and I think it might<BR>&gt; =
&gt;=20
actually do the trick if I were sending a Long instead of a =
String.<BR>&gt; &gt;=20
However, I definitely need to send character data, and I am unable to=20
come<BR>&gt; &gt; up with a solution in that regard.&nbsp; I am running=20
PowerBuilder 9 on Windows<BR>&gt; &gt; XP.<BR>&gt; &gt;<BR>&gt; &gt; =
Would=20
anyone have any ideas?&nbsp; Any suggestions would be greatly<BR>&gt;=20
appreciated.<BR>&gt; &gt;<BR>&gt; &gt; Kevin<BR>&gt; &gt;<BR>&gt; =
&gt;<BR>&gt;=20
<BR>&gt; </FONT></BODY></HTML>

------=_NextPart_000_02D2_01C4F330.3B5F2F10--

0
Kevin
1/5/2005 8:09:56 PM
This is a multi-part message in MIME format.

------=_NextPart_000_0029_01C4F338.C5A7C080
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Kevin;

 You can use:

1) DDE
2) Winsock (direct call API)
    Check out: http://www.sockets.com
3) SendMessage (as you mentioned)
4) Socket Wrench
    Check out: http://www.catalyst.com/products/socketwrench/index.html
    I have a working PB example!

Hope this helps.

regards ... Chris
PS: Bring back Distributed PowerBuilder!!!!!!!!!!!!!!!!!!!!!!!!!


  "Kevin" <kah@asus.net> wrote in message =
news:41dc217b$1@forums-1-dub...
  Hello.  I am trying to figure out a way to send a String from one =
running PB application to another running PB application.  From my =
research so far, it looks like the SendMessage API call comes close, and =
I think it might actually do the trick if I were sending a Long instead =
of a String.  However, I definitely need to send character data, and I =
am unable to come up with a solution in that regard.  I am running =
PowerBuilder 9 on Windows XP.

  Would anyone have any ideas?  Any suggestions would be greatly =
appreciated.

  Kevin
------=_NextPart_000_0029_01C4F338.C5A7C080
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1479" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Kevin;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;You can use:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>1) DDE</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>2) Winsock (direct call =
API)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; Check out: <A=20
href=3D"http://www.sockets.com">http://www.sockets.com</A></FONT></DIV>
<DIV><FONT face=3DArial size=3D2>3) SendMessage (as you =
mentioned)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>4) Socket Wrench</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; Check out: <A=20
href=3D"http://www.catalyst.com/products/socketwrench/index.html">http://=
www.catalyst.com/products/socketwrench/index.html</A></FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; I have a working PB=20
example!</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Hope this helps.<BR><BR>regards ...=20
Chris</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>PS: Bring back Distributed=20
PowerBuilder!!!!!!!!!!!!!!!!!!!!!!!!!</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV>"Kevin" &lt;<A href=3D"mailto:kah@asus.net">kah@asus.net</A>&gt; =
wrote in=20
  message <A=20
  =
href=3D"news:41dc217b$1@forums-1-dub">news:41dc217b$1@forums-1-dub</A>...=
</DIV>
  <DIV><FONT size=3D2>Hello.&nbsp; I am trying to figure out a way to =
send a=20
  <EM>String</EM> from one running PB application to another running PB=20
  application.&nbsp; From my research so far, it looks like the=20
  <EM>SendMessage</EM> API call comes close, and I think it might =
actually do=20
  the trick if I were sending a Long instead of a String.&nbsp; However, =
I=20
  definitely need to send character data, and I am unable to come up =
with a=20
  solution in that regard.&nbsp; I am running PowerBuilder 9 on Windows=20
  XP.</FONT></DIV>
  <DIV><FONT size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT size=3D2>Would anyone have any ideas?&nbsp; Any suggestions =
would be=20
  greatly appreciated.</FONT></DIV>
  <DIV><FONT size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT size=3D2>Kevin</FONT></DIV></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0029_01C4F338.C5A7C080--

0
Chris
1/5/2005 8:11:08 PM
I like Paul's technique A LOT.  Use of the registry never occured to me (I
would assume that similar logic would accomodate the use of a shared INI
file).  It is, however, just a variation of the shared file technique (but
with additional PB support).

"Kevin" <kah@asus.net> wrote in message news:41dc4994$1@forums-1-dub...
Thank you for the links, Scott.  That is definitely hitting the nail no the
head as far as what I am trying to accomplish.  As you indicated, however,
it's more complex than I would have originally thought.

I have not had any experience using DDE, but when I looked at the Help file,
I saw that it was exactly what I was looking for.  The confusing thing is
that neither of the two apps will always be the server or always be the
client.  App 1 may be opened or activated by App 2 or vise-versa, and
character data is sent back and forth in either situation.  I am not sure if
I have to specify from the start which is the server and if I can switch it
on the fly (as in, when App 2 is activated, it now becomes the server and if
App 1 is needed, a channel is then opened to it).  Maybe I am making DDE
more complicated than it is.

Between you and Greg, that writing to a file technique is sounding better
all the time.

Thank you both for your help and suggestions.

Kevin

"Scott Morris" <bogus@bogus.com> wrote in message
news:41dc361d$1@forums-2-dub...
> This always sounds much easier than it really is.  The biggest problem is
> that "string" implies access to memory; it is difficult to provide more
than
> "register-sized" amounts of data to another application (and
> "register-sized" implies numeric although interpretation is
> usage-dependent).  You can peruse (sp? real word?) the msdn site for IPC
(or
> any other topic you desire) to get an idea of the complexities of various
> techniques.
>
>
>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipc/base/interprocess_communications.asp
>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/synchronization.asp
>
>  Personally, I would go for the synchronized use of a file for simplicity
if
> you must pass strings of unknown length and your requirements are
relatively
> simple and you don't want to be thrown into the complexities of a new API.
> It will still require some sort of synchronization logic or polling logic
> (which can be done all within PB).   DDE is another potential mechanism
that
> can be implemented within PB.  If you have the desire/time to dig into the
> platform facilities, the IPC link covers those mechanisms provided by the
> OS.  Difficult but do-able and worth the effort.
>
> Another technique is to share a simple database table - the applications
> only need to poll (i.e., select) for new messages.
>
> "Kevin" <kah@asus.net> wrote in message news:41dc2e70$1@forums-1-dub...
> Thank you for the quick reply, Greg.  I will be using an API call to alert
> the target app that it is to become active.  My thinking was that since I
> needed to do that anyway, I would use another API call to just send the
> necessary text as well.  Unfortunately, that's when I found out that was
> easier said than done.  All things being equal, I would still prefer to
use
> another API call or something similar, since it would ultimately be the
> lesser maintanence of the two (I do not have to worry about keeping the
file
> "clean" and the like).  I just never would have thought it would have been
> this difficult to use (or find) a Windows API call to simply send a text
> string from one app to another.
>
> All that being said, unless there are some more ideas posted, I will go
the
> text file route, as this is the only alternative I can think of as well.
> Thanks again for your suggestion.
>
> Kevin
>
> <GW> wrote in message news:41dc22d6$1@forums-1-dub...
> > Unless you absolutely need direct communications why not share thru a
> common
> > text file?
> >
> > Greg
> > "Kevin" <kah@asus.net> wrote in message news:41dc217b$1@forums-1-dub...
> > Hello.  I am trying to figure out a way to send a String from one
running
> PB
> > application to another running PB application.  From my research so far,
> it
> > looks like the SendMessage API call comes close, and I think it might
> > actually do the trick if I were sending a Long instead of a String.
> > However, I definitely need to send character data, and I am unable to
come
> > up with a solution in that regard.  I am running PowerBuilder 9 on
Windows
> > XP.
> >
> > Would anyone have any ideas?  Any suggestions would be greatly
> appreciated.
> >
> > Kevin
> >
> >
>
>


0
Scott
1/5/2005 9:05:12 PM
This is a multi-part message in MIME format.

------=_NextPart_000_0317_01C4F339.479A5A80
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Thank you, Paul.  That is a good suggestion as well.  I was all but =
heading towards the file route, but I suppose going the registry route =
would be more appropriate in the XP environment.  I believe I will give =
this idea a go.

Kevin

"Paul Horan[TeamSybase]" <paulhATvcisolutionsDOTcom> wrote in message =
news:41dc3fa4$2@forums-1-dub...
> "Kevin" <kah@asus.net> wrote in message =
news:41dc217b$1@forums-1-dub...
> Hello.  I am trying to figure out a way to send a String from one =
running PB application to another running PB=20
> application.  From my research so far, it looks like the SendMessage =
API call comes close, and I think it might actually=20
> do the trick if I were sending a Long instead of a String.  However, I =
definitely need to send character data, and I am=20
> unable to come up with a solution in that regard.  I am running =
PowerBuilder 9 on Windows XP.
>=20
> Would anyone have any ideas?  Any suggestions would be greatly =
appreciated.
>=20
> Kevin
> ---------------------------------------------------------
> We've used a combination of things...
> Caller writes information into a specific registry key, then does a =
Send() to the "called" app.  The "called" app=20
> receives the message in it's custom PBM_customXX event.  It then reads =
the info out of the registry key, and cleans it=20
> out.
>=20
> --=20
> Paul Horan[TeamSybase]
>=20
> 
------=_NextPart_000_0317_01C4F339.479A5A80
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1479" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT size=3D2>Thank you, Paul.&nbsp; That is a good suggestion as=20
well.&nbsp; I was all but heading towards the file route, but I suppose =
going=20
the registry route would be more appropriate in the XP =
environment.&nbsp; I=20
believe I will give this idea a go.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Kevin</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>"Paul Horan[TeamSybase]"=20
&lt;paulhATvcisolutionsDOTcom&gt; wrote in message </FONT><A=20
href=3D"news:41dc3fa4$2@forums-1-dub"><FONT face=3DArial=20
size=3D2>news:41dc3fa4$2@forums-1-dub</FONT></A><FONT face=3DArial=20
size=3D2>...</FONT></DIV><FONT face=3DArial size=3D2>&gt; "Kevin" =
&lt;</FONT><A=20
href=3D"mailto:kah@asus.net"><FONT face=3DArial =
size=3D2>kah@asus.net</FONT></A><FONT=20
face=3DArial size=3D2>&gt; wrote in message </FONT><A=20
href=3D"news:41dc217b$1@forums-1-dub"><FONT face=3DArial=20
size=3D2>news:41dc217b$1@forums-1-dub</FONT></A><FONT face=3DArial=20
size=3D2>...<BR>&gt; Hello.&nbsp; I am trying to figure out a way to =
send a String=20
from one running PB application to another running PB <BR>&gt;=20
application.&nbsp; From my research so far, it looks like the =
SendMessage API=20
call comes close, and I think it might actually <BR>&gt; do the trick if =
I were=20
sending a Long instead of a String.&nbsp; However, I definitely need to =
send=20
character data, and I am <BR>&gt; unable to come up with a solution in =
that=20
regard.&nbsp; I am running PowerBuilder 9 on Windows XP.<BR>&gt; =
<BR>&gt; Would=20
anyone have any ideas?&nbsp; Any suggestions would be greatly=20
appreciated.<BR>&gt; <BR>&gt; Kevin<BR>&gt;=20
---------------------------------------------------------<BR>&gt; We've =
used a=20
combination of things...<BR>&gt; Caller writes information into a =
specific=20
registry key, then does a Send() to the "called" app.&nbsp; The "called" =
app=20
<BR>&gt; receives the message in it's custom PBM_customXX event.&nbsp; =
It then=20
reads the info out of the registry key, and cleans it <BR>&gt; =
out.<BR>&gt;=20
<BR>&gt; -- <BR>&gt; Paul Horan[TeamSybase]<BR>&gt; <BR>&gt;=20
</FONT></BODY></HTML>

------=_NextPart_000_0317_01C4F339.479A5A80--

0
Kevin
1/5/2005 9:14:41 PM
Reply:

Similar Artilces:

data exchange between PowerBuilder applications
PowerBuilder 11.5.1 I am looking for a possibility to exchange data between two or more PowerBuilder applications which are all under my control. I tried to use the Send()/Post() functions. I pass the values in the wordParm and longParm respectively. This works fine for numeric data only. But I was not able to pass string data this way. Obviously the String(longParm, "address") Syntax does not work over more than one PowerBuilder application - which actually is no surprise. Is there another way in PowerBuilder to do this (apart from using DDE)? Andi Hi Andi, ...

Powerbuilder application "crashing" another powerbuilder application
This is a repost of the above subject since there has been some problem for messages posted on the 19th - 22nd July 2002. *************** Hi All, I have an application (App A)built using PB7.0.3 build 10077 and it seems to work fine. However, recently, another application (App B) built using PB 7.0.3 build 10047 as well was installed and it seems to trigger Dr Watson on App A. There is an embedded OCX on a "main" window on App A, which receives triggers from external applications. The OCX will then call another function sitting on another main window. That function w...

MYSQL and PowerBuilder data exchange
Hi, I was hoping some one would help me with something. I am new to MYSQL and PowerBuilder, I have been able to pass variables between PowerBuilder and MS SQL Server but am unable to do so using MYSQL. is there somewhere I can download an example program showing how this is done? This would be deeply appreciated, Thanks, Regards, Gareth Murray What version of PowerBuilder? What do you mean by 'pass variables'? Is that passing variables to a stored procedure or inline sql statement? Perhaps if you gave an example of how you do it with SQL Server, someone c...

Generating PowerBuilder Applications from Data Model
A few years ago I used a version of PowerDesigner (perhaps AppModeller) to generate a functioning PowerBuilder application directly from a physical data model. It was fine for editing static data. I now have PowerDesigner 9.5.0 and want to do it again for static data. I can't find how to do it in this version of PowerBuilder. Any ideas? The functionality of AppModeler was not carried forward to PD 7, 8 or 9.x. However, using the 9.5.2 release, you are able to generate and reverse engineer PB extended attributes in the PDM. In the OOM, you can now reverse engineer your entire...

Sharing OLE for two PowerBuilder Applications.
Hi All, I have a PDF Printer Component that I connect using OLE, like below: ll_return = l_ole.ConnectToNewObject( 'PDF.PDF') Everything works fine. But this Object only can be open once, if I try open twice an exception happens. But I neeed to use the same PDF Printer for two applications, so I tried to share the same OLE connection between Applcations, unsuccessfully. There is a way to do that?? I tried to use ShareObjectRegister, but the shared object is only available for application that registered the object. Thanks in advance. Guilherme PS: I'm using ...

Accessing Outlook calendar data from a Powerbuilder application.
Hi, I want my application (developed in PowerBuilder) to access calendar data in Microsoft Outlook. I am rather blank on how to approach this task, so if someone could guide me to some relevant resources on the net I would be very thankful. Regards Vegard Use OLE and VBA (Visual Basic for Applications). To learn more about OLE, review the application techniques manual on that subject. For VBA, go to http://msdn.microsoft.com/library and search for Outlook. -- Chris Keating Sybase Adaptive Server Anywhere Professional Version 8 iAnywhere Solutions http://www.iAnywher...

Two Powerbuilder applications 'talking' to each other.
Hello, I want to build a small application that runs on a server and can communicate with other Powerbuilder applications running on users computers. Is it possible to do this ? If so, can anyone point me to a white paper or example ? I am using PB11.1 Thanks in advance Try http://www.topwizprogramming.com/freecode_winsock.html -- Report Bugs to Sybase: http://case-express.sybase.com/cx/welcome.do Product Enhancement Requests: http://my.isug.com/cgi-bin/1/c/submit_enhancement <Blotto> wrote in message news:4b265b79.7096.1681692777@sybase.com... > Hello, &...

application in PowerBuilder
Hi. I'm looking for an application in PowerBuilder for my company. Our database are in Sybase. We need an ERP (inventario, compras, ventas, facturacion, importaciones, etc.). Can someone suggest me one? Thanks in advance! Puedes intentar en Consulting, una empresa peruana que vende el AXIOM, un ERP con todo lo que necesitas. www.consultingasociados.com C�sar. "Cecilia" <cpedraza@subaquatec.com> wrote in message news:YT$F$1jmCHA.329@forums.sybase.com... > Hi. > I'm looking for an application in PowerBuilder for my company. > Our datab...

PowerBuilder.Application
Hi, I try to use PowerBuilder.Application automation object in C++ with IDispatch interface but where can I find the DISPID of LibraryList, MachineCode, CreateObject members ? Thanks in advance Benoit. ...

Powerbuilder 5 to Powerbuilder 10
Hi all We have migrated our application from powerbuilder 5 to powerbuilder 10. after migration to version 10, alignment in most of reports disturbed. please advice me some solution. On Fri, 29 Feb 2008 12:45:01 +0100, Adnan Jamil <adnanjamil@nji.com.pk> wrote: > Hi all > > We have migrated our application from powerbuilder 5 to powerbuilder 10. > after migration to version 10, alignment in most of reports disturbed. > please advice me some solution. Adnan, Is this a SQL Anywhere question? If not, you have posted to the wrong forum. If yes,...

PowerBuilder.Application
Hi, I try to use PowerBuilder.Application automation object in C++ with IDispatch interface but where can I find the DISPID of LibraryList, MachineCode, CreateObject members ? Thanks in advance Benoit. It's easiest to use the OLE call "GetIDsOfNames(...)". This remains version independent. Hope this helps, Reed Shilts PowerBuilder / PowerJ Kernel Group ***Nothing I Say Is Official*** Benoit ROUGE-PULLON wrote: > Hi, > > I try to use PowerBuilder.Application automation object in C++ with > IDispatch interface but where can I find the...

PowerBuilder Application
Hi, I've came across with this situation of a friend of mine that some time ago bought a car dealer application developed with Powerbuilder, and now the software company went out of business. The software company never provided him with any installation CD's for the program so if something happens to the computer he will loose all the information and won't be able to use the program. My question is how can i make a backup copy of the program so that it can be restored later in case something happens to the computer. I've identified the program files, database files a...

Use PowerBuilder DLL in PowerBuilder
We use PB6.5. We would want to use a DLL create from PB in a PB application. We compiled an a PBL as DLL. After we tried to use DLL in a user object external, but without success. How can we do to use DLL create from PB or use in a new PB application some object (visual and no) before compiled with PB? Any help will be appreciated. Saul.Convalle@mail.cec.it Thanks When you create a DLL from a PB library it is not really a standard Windows DLL. I'm not sure what the difference is. If you are making calls from PB then just use the standard PB calling syntax the ...

Deploying powerbuilder application as .NET web application
Hi when I deploy Client/Server PowerBuilder application as .NET Web application I get below output. Not even getting any bug messages. Checking IIS Server... Generating .NET assembly file... Deploy failed. Have deployed provided Tutorial application as Web application. It has successfully created and deployed. Any information is appreciated. If this question has to do with PB 11 WebForm deploys, you want to post it in the sybase.public.powerbuilder.net.webform section. This section is for DataWindow.Net, a different product. On 29 Jul 2008 05:32:55 -0700, Raju Gol...

Web resources about - Exchanging Data Between Two PowerBuilder Applications - sybase.powerbuilder.general

PowerBuilder - Wikipedia, the free encyclopedia
PowerBuilder is an integrated development environment owned by Sybase , a division of SAP . It has been in use since 1991, peaking around 1998 ...

Sybase PowerBuilder tool readied for Microsoft's .Net
... Win32 or newer style .Net development After several years of work, Sybase is ready to deliver on the final step in its plan to move PowerBuilder ...

Jim O'Neil (@jimoneil) on Twitter
Sign in Sign up To bring you Twitter, we and our partners use cookies on our and other websites. Cookies help personalize Twitter content, tailor ...

Open Directory - Computers: Programming: Languages
about dmoz - dmoz blog - report abuse/spam - help the entire directory only in Programming/Languages Description Top : Computers : Programming ...

The HP Booth Staff (Goons) Owe Me an Apology
... when you might need to use it. For instance, when I was in the WinRunner world there were plugins for driving terminal emulators and powerbuilder ...

Contact Us - Sybase Inc
Thanks for visiting the 主页 section of Sybase.com. Here you will find information about Contact Us. For more information about Business Intelligence, ...

热门搜索 - 我的异常网
... 我的异常网 » 热门搜索 sdpnet2 移动【A111】其它用户原因鉴权失败,是什么意思啊 http:// 192.168.1.102:22578 本网站服务器位于美国,受美国法律保护 MiniUI js 破解 http://192.168.1.103:8080/ powerbuilder ...

Mobile app security: Always keep the back door locked
The best way to keep mobile apps safe is to secure the services they connect to.

10 Tech Skills That Will Instantly Net You A $100,000+ Salary
... that let's developers run Java applications. Java is highly popular language for writing web apps and custom enterprise apps. No. 8: PowerBuilder ...

Top Ranked Articles
Top Ranked Articles - Free source code and tutorials for Software developers and Architects.; Updated: 23 Feb 2013

Resources last updated: 12/28/2015 4:48:52 PM