我有一个问题,从C++ dll.I读取数据必须用C proccee数据++的dll和Delphi.I我的UI写作要在从TList传递给DLL,然后DLL插入一些数据到list.Is有任何方式来做到这一点?更好的例子,最好的问候。从C++ dll读取矢量数据?
-3
A
回答
2
不能具体德尔福型状TList
传递到C++ DLL,除非DLL写在C++ Builder中。
C++编译器将不能够处理特定的Delphi型的TList(或任何其他类,动态阵列,串,集,阵列开放等)。而且Delphi不能处理C++ vector
类型(或任何其他模板或类类型)。 所以干脆不要这样做。
即使您的DLL是使用与Delphi编译器相同版本的C++ Builder编写的,该编译器知道TList
,您仍然会遇到问题,因为您正在处理两个不同的RTL实例,工作不正常(内存管理,RTTI等)。
而且注意,C++ Builder中的包都没有解决的办法:Delphi不能使用写在C++ Builder的BPLs。不过,C++ Builder可以使用Delphi包。
所以只是通过普通的旧数据(POD)类型。传递简单类型的数组或简单类型的结构体/记录,并将数组作为指针传递给第一个元素。不要尝试传递动态数组或打开数组参数。这些都是特定于Delphi的。
您可以使用动态阵列上的德尔福的一面,只要你只是一个指针传递给第一个元素,而你分配足够的空间DLL来填充它。不要让DLL管理内存或尝试重新分配阵列。它不能。作为额外参数传递数据的最大长度。该DLL应该只有填充该阵列,不再。
对于它的价值,我写了一篇关于DLL dos and don'ts。请阅读并注意它。这篇文章更详细地解释了我上面所写的内容,以及更多关于编写跨语言边界使用的DLL的内容。
相关问题
- 1. ActionScript读取矢量的数据类型?
- 2. 将数据读入矢量
- 3. 从excel中读取数据到矢量中
- 4. Octave/Matlab从文件中读取数据作为矢量阵列
- 5. C++ Qwt - 从矢量绘制数据
- 6. C++ sscanf读取字符串矢量
- 7. C++矢量数据访问
- 8. 读取数据从.txt(C++)
- 9. 从C#读取Excel数据#
- 10. 使用GDAL/OGR api读取矢量数据(shapefile) - 如何?
- 11. 读取带有矢量列的R数据帧(由NetLogo存储)
- 12. C++:从矢量中读取元素,循环被跳过
- 13. 从C#读取非.NET DLL版本?
- 14. 矢量矢量C++
- 15. C++:从矢量中获取值
- 16. 获取Word频率从矢量在C++
- 17. 从OpenStreetMap获取作为MySQL数据库的矢量数据
- 18. 从txt文件读入矢量然后排序数值C++
- 19. 从带有字符的文件中读取特定整数到矢量中(C++)
- 20. C++将X矢量数据插入到另一个矢量
- 21. 如何从csv读取一维数组/矢量到R
- 22. 如何从XML文件读取base64数字矢量?
- 23. 上指针的矢量返回指针从C++ DLL到Python
- 24. C++获取矢量类型
- 25. InputStream从偏移量读取数据
- 26. 如何从XML变量读取数据?
- 27. 从二进制文件读取数据转换为matlab,拆分为矢量
- 28. 从.csv文件读取给我一个矢量,而不是数据框?
- 29. 使用从文件读取的数据填充对象的矢量
- 30. 矢量的矢量,C++
欢迎堆栈溢出。请花些时间阅读[The Tour](http://stackoverflow.com/tour),并参阅[帮助中心](http://stackoverflow.com/help/asking)中的资料,了解您可以在这里问。 –
@Victoria Wut ?? –
@维多利亚你应该再次仔细阅读我的个人资料。 –