簡體   English   中英

具有propput的Python win32com.client函數

[英]Python win32com.client function with propput

我正在使用win32com.client編寫一個小插件,但設置屬性存在問題。 屬性或函數的定義是這樣的:

[id(0x00000021), propget, helpstring("property SystemChannel")]
long SystemChannel(
                long lVEN, 
                long lDEV, 
                long lSVID, 
                long lSID);

[id(0x00000021), propput, helpstring("property SystemChannel")]
void SystemChannel(
                long lVEN, 
                long lDEV, 
                long lSVID, 
                long lSID, 
                [in] long rhs);

我沒有獲得價值的問題,下一個代碼的工作很棒:

app = Dispatch("CmAVConfig.AudioConfig")   
self.speakerNumber = app.SystemChannel(self.glVid, self.glDid, self.glSvid, self.glsid)

但是我無法設置相同屬性的值,我嘗試使用下一條指令,但出現以下錯誤:

app = Dispatch("CmAVConfig.AudioConfig")       
app.SystemChannel(self.glVid, self.glDid, self.glSvid, self.glsid, self.speakerNumber)
ERROR: SystemChannel() takes at most 5 arguments (6 given)

//this one is from a working example using javascript
app.SystemChannel(self.glVid, self.glDid, self.glSvid, self.glsid) = self.speakerNumber
ERROR: SyntaxError: ("can't assign to function call", ('ooo.py', 56, None, 'app.SystemChannel(self.glVid, self.glDid, self.glSvid, self.glsid) = self.speakerNumber\n'))

如果為該庫運行makepy(或使用win32com.client.gencache.EnsureDispatch),則應創建一個需要額外arg的SetSystemChannel方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM