vb调用delphi的dll问题啊

yxlyq_117 2011-06-19 09:23:55
delphi的dll接口函数function NetInit(mhandle:THandle,msg:Longword):integer;stdcall在vb里该怎么写啊
我写成:Public Declare Function NetInit Lib "NetClient.dll" (ByVal hMem As Long, ByRef msg11 As Long) As Long
都是不行啊.求前辈们帮忙了
...全文
186 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
liweixing 2011-08-15
  • 打赏
  • 举报
回复
delphi编写动态库时,传出参数要用指针。
gh54321 2011-06-28
  • 打赏
  • 举报
回复
zhuang_bx 回答正确
rainychan2009 2011-06-19
  • 打赏
  • 举报
回复
确保参数调用方式一致。
山东蓝鸟贵薪 2011-06-19
  • 打赏
  • 举报
回复
必须将DELPHI编写的DLL标准化,才能在"任何语言"中调用即可
SQLDebug_Fan 2011-06-19
  • 打赏
  • 举报
回复
VB里面有没有加stdcall,这样采样正确初始化和回收栈。
山东蓝鸟贵薪 2011-06-19
  • 打赏
  • 举报
回复
就是结构标准化>>>>>>>>>>>>>>>>>.
yxlyq_117 2011-06-19
  • 打赏
  • 举报
回复
//mhandle:接收消息的窗口句柄
//msg:消息值
//Msg.WParam的值:
// $0001; //网络错误消息
// $0002; //网络连接成功
// $0003; //网络连接断开
// $0004; //网络网络关闭

function NetInit(mhandle:THandle;msg:Longword):integer;stdcall;

这是完整的,msg对应的是返回参数,在vb里应该是:byref吧,况且就按byval也是不对,Longword是32位吧?

Public Declare Function NetInit Lib "NetClient.dll" (ByVal hMem As Long, ByRef msg As Long) As Long

调用时:
dim j as long
dim msg as long
j = NetInit(Me.hWnd, msg)

j总是返回-1 调用不成功 ,要返回0就可以了
把哪个bytef改成byval也是不行,不知道问题出在哪里?
yxlyq_117 2011-06-19
  • 打赏
  • 举报
回复
//mhandle:接收消息的窗口句柄
//msg:消息值
//Msg.WParam的值:
// $0001; //网络错误消息
// $0002; //网络连接成功
// $0003; //网络连接断开
// $0004; //网络网络关闭

function NetInit(mhandle:THandle;msg:Longword):integer;stdcall;

这是完整的,msg对应的是返回参数,在vb里应该是:byref吧,况且就按byval也是不对,Longword是32位吧?
v1srine 2011-06-19
  • 打赏
  • 举报
回复
.UP!!!!!
zhuang_bx 2011-06-19
  • 打赏
  • 举报
回复
function NetInit(mhandle:Longword;msg:Longword):Longword;stdcall

Public Declare Function NetInit Lib "NetClient.dll" (ByVal hMem As Long, ByVal msg As Long) As Long
hongss 2011-06-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sgzhou12345 的回复:]
必须将DELPHI编写的DLL标准化,才能在"任何语言"中调用即可
[/Quote]
+1
内容概要:本文详细介绍了利用Simulink进行变压器开路试验的电路连接配置与仿真实现方法,重点在于通过仿真手段还原实际电力系统中变压器在空载条件下的电气特性,从而深入理解其工作原理与性能表现。文章作为电力系统仿真系列研究的一部分,系统阐述了从电路模型搭建、参数设定、仿真运行到结果分析的完整流程,突出展示了MATLAB/Simulink在电力设备建模与教学科研中的强大功能与应用价值。; 适合人群:具备电力系统基础知识,熟悉MATLAB/Simulink仿真环境,从事电气工程、自动化及相关领域的研发人员,以及高年级本科生和研究生。; 使用场景及目标:①掌握变压器开路试验的基本原理与Simulink仿真建模的具体步骤;②通过仿真实验深入理解空载电流、铁芯损耗及励磁特性等关键参数的物理意义;③为后续开展变压器短路试验、暂态过程分析以及其他电力设备的仿真研究奠定理论与实践基础。; 阅读建议:建议结合Simulink软件动手实践,逐步构建并调试电路模型,重点关注各元件参数的设置方法与测量模块的应用技巧,同时推荐参考文中提及的其他相关仿真案例进行拓展学习,以全面提升对电力系统仿真实践的整体认知与操作能力。

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧