Hallo Zusammen,
ich habe ne Frage zu Python und COM (Component Object Moddel)
von Windows. Ich habe dort ein Interface das ein Stringarray erwartet.
Mit VB6 funtioniert das einwandfrei. Leider verstehe ich noch nicht
wie Python das Datentypenmashaling macht.
Wie mache ich in Python ein solches Stringarray? Die Dokumentation
von win32 Extention von Python ist da etwas dürftig.
Geht das mit den normalen array-Funktionen von Python?
Speziell für strings habe ich da leider nichts gefunden.
Wäre toll wenn mir da jemand helfen könnte.
Danke
alpha
Python und Windows COM
eigentlich werden wird von den com modulen alles korrekt umgewandlet... oder was meinst du mit einem stringarray?
sowas: ["asd","svf"] oder ?
sowas: ["asd","svf"] oder ?
Hallo Leute,
alles klar ich habs. Mein Fehler war nur, daß die Anzahl der Arrayelemente, die ich übergeben wollte nicht gestimmt hat. Für alle, die es interessiert hier der kleine Programmausschnitt, falls ihr auch mal nen
opc-client unter Windows progen müsst
Bis dann
alpha
alles klar ich habs. Mein Fehler war nur, daß die Anzahl der Arrayelemente, die ich übergeben wollte nicht gestimmt hat. Für alle, die es interessiert hier der kleine Programmausschnitt, falls ihr auch mal nen
opc-client unter Windows progen müsst

Code: Alles auswählen
import win32com.client, pythoncom, time
from array import *
class ServerEvents:
def __init__(this):
print 'Server started'
def OnServerShutDown(self, Reason):
print 'Server Shutdown at',time.ctime()
class GroupEvents:
def __init__(this):
print 'Group started'
def OnDataChange(self,TransactionID,NumItems,ClientHandles,ItemValues,Qualities,TimeStamps):
print 'Data Change at', time.ctime(), ' ', ItemValues
OPC = win32com.client.DispatchWithEvents('OPC.Automation.1',ServerEvents)
OPC.Connect('centrotherm.OPC_ENGINE')
groups = OPC.OPCGroups
group = groups.Add('Group1')
group = win32com.client.DispatchWithEvents(group,GroupEvents)
group.IsSubscribed=1
items=group.OPCItems
item1=items.AddItem('.Ist_Band', 1)
item2=items.AddItem('.Soll_Band', 1)
#Hier der Problemcode
ItmNbr = 2
ItemIDs = ['', '.Ist_Band', '.Soll_Band']
Chand = [0,1,2]
Shand = []
Errors = []
item1 = items.AddItems (ItmNbr, ItemIDs, Chand, Shand, Errors)
print item1
Shand = item1[0]
print Shand
NumItems = 1
Values = [0,500]
group.SyncWrite (NumItems, Shand, Values, Errors)
while 1:
pythoncom.PumpWaitingMessages()
alpha