我想将一个字节数组传递给ActiveX。我正在使用delphi 7,我正在使用InProcess Server(DLL)。
我正在使用指向字节数组和数组大小的指针,并将其传递给InProcess Server。它运作良好。我这样做是因为我需要表现。有没有人看到这种方法有任何问题?
我看到的帖子非常相似:What data type is suitable to handle binary data in ActiveX method?但是没有人给出这个答案。
答案 0 :(得分:1)
将字节数组作为指针与大小信息一起传递就好了。
但是,某些编程语言仅支持所有可能类型的一小部分。例如,Visual Basic for Application(不是VB.NET)只能处理自动化兼容的数据类型(参见http://msdn.microsoft.com/en-us/library/cc237562(v=prot.20).aspx),甚至不能处理所有这些类型(例如,不支持16位无符号整数)。为了安全起见,我总是在没有好的论据时使用SAFEARRAY。
另请注意,使用非自动化兼容接口会强制您提供自己的编组代码,以防您想要使用组件OutProc。既然你提到你打算只使用你的组件InProc,这不应该让你担心。
此致 斯图尔特