38 lines
		
	
	
	
		
			1,015 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			38 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)
 |