一直在做java的BS开发,所以不太懂delphi,请教一下大家!
项目里需要做一个接口,由于要调用dll,所以只有用js调用ocx,ocx作为中间层调用接口方的dll,以前已实现过其他接口,所以方案是可行的。
这次调用的dll是api方式的(貌似是C写的),头文件如下:
typedef void (WINAPI *Callback)(char *msg); //回调函数类型
extern "C"
{
void __stdcall SetClientCallback(Callback lpCallback);
void __stdcall Request(const char* EntPara, char* RetPara, short* iRetValue);
}
接口定义:
void Request(char* EntPara[in],char* RetPara[out],Short *iRetValue[in,out])
目前静态声明,1:
procedure Dll_Request(var inPara,outPara: PChar;var retPara:array of short);stdcall;external 'miclient.dll' name 'Request';
调用
Dll_Request(inPara,outPara,retPara);
调用好像有异常目前静态声明,2:
procedure Dll_Request(var inPara,outPara: array of char;var retPara:array of short);stdcall;external 'miclient.dll' name 'Request';
调用
Dll_Request(inPara,outPara,retPara);
调用后属性未返回求教应该怎么调用才能正确
项目里需要做一个接口,由于要调用dll,所以只有用js调用ocx,ocx作为中间层调用接口方的dll,以前已实现过其他接口,所以方案是可行的。
这次调用的dll是api方式的(貌似是C写的),头文件如下:
typedef void (WINAPI *Callback)(char *msg); //回调函数类型
extern "C"
{
void __stdcall SetClientCallback(Callback lpCallback);
void __stdcall Request(const char* EntPara, char* RetPara, short* iRetValue);
}
接口定义:
void Request(char* EntPara[in],char* RetPara[out],Short *iRetValue[in,out])
目前静态声明,1:
procedure Dll_Request(var inPara,outPara: PChar;var retPara:array of short);stdcall;external 'miclient.dll' name 'Request';
调用
Dll_Request(inPara,outPara,retPara);
调用好像有异常目前静态声明,2:
procedure Dll_Request(var inPara,outPara: array of char;var retPara:array of short);stdcall;external 'miclient.dll' name 'Request';
调用
Dll_Request(inPara,outPara,retPara);
调用后属性未返回求教应该怎么调用才能正确
解决方案 »
- 修改界面,散分
- TreeView显示控制
- delphi,access数据库,ado连接,出现个奇怪问题。有倒数第一条和第二条记录,现在要修改倒数第二条必须在修改问保存后再修改保存一下倒数第一条,倒数第二条的数据才会保存下来。不然退出再进入会发现数据没有被修改?这是什么问题呢?并且最后一条数据不论怎
- 如何改变TreeView滚动条颜色
- 是什么问题
- 请问创建临时表的问题
- 请问向下箭头键的十进制键值是多少?
- ●●一个msOutlookBarPro的问题???怎样获得一个mxHeader中当前鼠标所在的mxButton的index?,我是指不用单击,因为鼠标移动button能获
- 请叫一个密码窗体问题,急着要用,急等您的回答,谢谢
- 求教delphi用Tidhttp 控件post数据问题
- 数据集怎么样才能过滤memo类型字段呢,求指教
- Delphi XE5运行时报错称找不到arm-linux-androideabi-ld.exe,但是文件夹里明明就有
哦 谢谢 我试试
那char* RetPara 用 PChar 还是 array of char 合适一些?
之前一个接口char*用 array of char 调用成功了
哦 谢谢 我试试
那char* RetPara 用 PChar 还是 array of char 合适一些?
之前一个接口char*用 array of char 调用成功了
array of char类型的数组名实际为指针,只要大小合适,是可以的。最好用pchar,getMem
应该是这样
Request(const EntPara: PAnsiChar; RetPara: PAnsiChar; iRetValue: PShortInt);
这里你还是用Pansichar吧.