COM组件IDL文件里大写的属性名称在生成的TLB文件里,竟然变成了小写!问题还不止这么简单,因为有时候变成小写,有时候又变成了大写!调用程序因此反复要修改,这不是折磨人嘛!
在Google Groups里搜索了一下,原来这是因为TLB里,所有的字符串存贮在一张表里,不管大小写,而且也不管是属性名还是参数名。第一个碰到的,就存贮到表里,并且保存大小写,以后同样的字符串(不分大小写)均以第一个为准......也不知道谁定的规矩。
在我的代码里,因为有些参数名跟属性名是相同的,而且参数名习惯以小写开头,属性名习惯以大写开头.......
知道了原因,修改起来也就很简单了,索性把所有的参数都改成大写的。
原帖:
Interace property's case changed when viewed/used in tlb and c++ c