Delphi调用VC的类并引用(参数,执行类方法等)
来源:互联网 发布:非结构化数据 编辑:程序博客网 时间:2024/06/06 03:12
一直以为Delphi与VC之间不能进行传递对象类型参数, 所以一直以结构或更普通的数据类型交换数据 , 但前段时间得一大神传授, 终于知道如何实现类对象的传递.
需要注意的是C++里面的struct才能与delphi里面的class一一对应, 而且,struct里面的元素地址不能随意改变(比如setlength),不然就AV了.
具体代码在: http://git.oschina.net/tigera15/delphi-vc-callwithclass/blob/master/delphi-vc-passClass.7z
Delphi的类原型:
type
size_t = NativeUInt; MyClass = Class p1: integer; p2: pansichar; p3: size_t; p4: boolean; p5: pinteger; p6: size_t; function callMethod(pv1: array of integer; pv2: size_t): integer;vitual; stdcall; End;
C++的类原型:
struct MyClass{int p1;char* p2;size_t p3;bool p4;int* p5;size_t p6;virtual int __stdcall callMethod(int* pv1, size_t pv2){MessageBoxA(0, "run VC callMethod", "callMethod", 0);int lvRet = p1;for (size_t i = 0; i < p6; i++) {lvRet += p5[i];}for (size_t i = 0; i < pv2; i++) {lvRet += pv1[i];}sprintf_s(p2, p3, "return value:%d", lvRet);return lvRet;}};
阅读全文
0 0
- Delphi调用VC的类并引用(参数,执行类方法等)
- 窗体之间调用方法,参数等。(传窗体引用)
- DELPHI调用VC编写的DLL 函数参数为LPTSTR
- 在非VS环境下C++ Builder,Delphi,VC,VB等调用C#开发的DLL的完整方法
- 方法参数的调用是值调用而不是引用调用
- delphi 调用excel的宏,并传递参数给宏
- vc 调用delphi DLL ,传字符串参数
- delphi调用vc写的dll的方法
- 方法参数的值调用+引用调用+深浅拷贝
- C++11 thread编程调用类方法并传入参数
- Delphi 调用VC的DLL
- boost::threadpool 调用类成员变量并传入参数 的方法
- C#反射实例化类并调用带参数的方法
- VC中调用dll类的方法
- delphi类的相互引用
- delphi引用类的顺序
- c++ 调用cmd并执行语句的三种方法
- 如何用Delphi调用由VC开发的ATL/COM服务,并响应其事件
- bzoj 4377 Kurs szybkiego czytania 数学思维题
- vim使用教程
- 指针数组和数组指针
- 每天进步一点点--hibernate一些总结(1)
- Spring的两种代理JDK和CGLIB的区别浅谈
- Delphi调用VC的类并引用(参数,执行类方法等)
- springcloud config 配置中心
- wordpress探索
- php 单文件测试代码时必加入的代码
- Java IO
- 循环冗余校验CRC
- Redis的事务之watch使用
- mongodb 数据库关系图以及具体应用
- 【solr菜鸟教程】2、solr的架构