39 lines
1,015 B
Python
39 lines
1,015 B
Python
|
# 'Request' example added jjk 11/20/98
|
||
|
|
||
|
import win32ui
|
||
|
from pywin.mfc import object
|
||
|
import dde
|
||
|
|
||
|
class MySystemTopic(object.Object):
|
||
|
def __init__(self):
|
||
|
object.Object.__init__(self, dde.CreateServerSystemTopic())
|
||
|
|
||
|
def Exec(self, cmd):
|
||
|
print("System Topic asked to exec", cmd)
|
||
|
|
||
|
class MyOtherTopic(object.Object):
|
||
|
def __init__(self, topicName):
|
||
|
object.Object.__init__(self, dde.CreateTopic(topicName))
|
||
|
|
||
|
def Exec(self, cmd):
|
||
|
print("Other Topic asked to exec", cmd)
|
||
|
|
||
|
class MyRequestTopic(object.Object):
|
||
|
def __init__(self, topicName):
|
||
|
topic = dde.CreateTopic(topicName)
|
||
|
topic.AddItem(dde.CreateStringItem(""))
|
||
|
object.Object.__init__(self, topic)
|
||
|
|
||
|
def Request(self, aString):
|
||
|
print("Request Topic asked to compute length of:", aString)
|
||
|
return(str(len(aString)))
|
||
|
|
||
|
server = dde.CreateServer()
|
||
|
server.AddTopic(MySystemTopic())
|
||
|
server.AddTopic(MyOtherTopic("RunAnyCommand"))
|
||
|
server.AddTopic(MyRequestTopic("ComputeStringLength"))
|
||
|
server.Create('RunAny')
|
||
|
|
||
|
while 1:
|
||
|
win32ui.PumpWaitingMessages(0, -1)
|