我搜索并没有在stackoverflow上看到答案(但可能错过了它)。
想知道,设置和调用COM组件所需的VBScript代码是什么?类ID为“clsid:0D53A3E8-E51A-49C7-944E-E72A2064F93B” 并且函数签名是
bool Read(string filename, ref int[] pix, ref int width, ref int height, bool readOnlyHeader);
是以下的一部分:
[ComVisible(true)]
[Guid("EAA4976A-45C3-4BC5-BC0B-E474F4C3C83B")]
public interface IComFitsReaderInterface
{
[DispId(1)]
bool Read(string filename, ref int[] pix, ref int width, ref int height, bool readOnlyHeader);
}
[Guid("7BD20046-DF8C-44A6-8F6B-687FAA26FA7B"),
InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IComFitsReaderEventsInterface
{
}
[ComVisible(true)]
[Guid("0D53A3E8-E51A-49C7-944E-E72A2064F93B"),
ClassInterface(ClassInterfaceType.None),
ComSourceInterfaces(typeof(IComFitsReaderEventsInterface))]
public class FitsReader : FitsFile, IComFitsReaderInterface
{
public bool Read(string filename, ref int[] pix, ref int width, ref int height, bool readOnlyHeader);
...
注意:看起来我不能使用JavaScript,因为(我读过)它不支持COM组件函数中的引用参数。我确实用它来调用一个带有单个非引用参数的函数,该函数工作正常。
谢谢!
降压