[英]Possible to modify an enum in a third-party ActiveX control?
我正在使用供應商提供的ActiveX控件讀取USB卡的USB設備。
我的應用程序是在Java中編寫的,因此我將EZJCom用作“橋梁”-因此,可通過java類獲得activeX控件的所有屬性和方法。
如果我在Windows設備管理器中查找,則讀卡器設備位於COM端口COM8
。
現在,由於此枚舉而出現了問題,該枚舉表明設備正在運行的COM端口。
typedef enum {
COM1 = 1,
COM2 = 2,
COM3 = 3,
COM4 = 4
} CommPortConstants;
我的Java代碼可以做到這一點:
cardReader.get_DMF5Ax().setCommPort(CommPortConstants.COM4); // OK
但這不是:
cardReader.get_DMF5Ax().setCommPort(CommPortConstants.COM8); // fails!
換句話說,由於該枚舉的性質,我無法在COM8
上查找設備(通過Java調用ActiveX控件)。
所以對於我的問題:有沒有一種方法可以“編輯” ActiveX控件並將值添加到枚舉中?
還是有更好的方法(除了EZJCom之外)使用Java中的activeX控件。
請注意,我沒有ActiveX控件的源代碼,並且(來自Java世界)也不熟悉用於制作它們的開發環境。
我對EZJCom一無所知(對於Java卻一無所知),但是從ActiveX / COM來看,我認為您應該不會遇到任何問題。
COM方法(特別是自動化方法)不獲取Java枚舉。 在大多數情況下,它們要么得到LONG,在某些情況下,它們將得到VARIANT或I4類型。
看起來CommPortConstants只是常量,因此這應該對您有用:
cardReader.get_DMF5Ax.setCommPort(8)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.