dll中无法将.ini文件中的数据库连接信息赋给ADOConnection的ConnectionString

krakan 2004-10-10 10:45:09
这是入口函数:
extern "C" __declspec(dllexport) void _stdcall DBConnected_DLL()
{
TDataModule2 *DataModule2 = new TDataModule2(NULL);
TIniFile *ini = new TIniFile( ChangeFileExt( Application->ExeName, ".INI" ));
DataModule2->DBConnection1->ConnectionString = ini->ReadString( "Info", "DBConfigration", "" );
delete ini;
DataModule2->DBConnection1->Connected = true;
delete DataModule2;


}


单步调试的时候,发现DataModule2->DBConnection1->ConnectionString = E2195 Cannot evaluate function call
...全文
201 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
krakan 2004-10-11
  • 打赏
  • 举报
回复
谢谢各位,我已经解决掉了,程序本身一点问题都没有,我只是把源程序换了一个目录存放,再运行,就没有错误了,真搞不懂,bcb怎么会出现这个问题,听师兄说,J BUILDER也有这类问题!
hongwuzhao 2004-10-11
  • 打赏
  • 举报
回复
在DLL中使用Application->ExeName不当,应该使用:
GetModuleFileName(hinst, buf, sizeof(buf));
show00 2004-10-10
  • 打赏
  • 举报
回复
ConnectionString的类型是WideString,是不是和这个有关系呢?
krakan 2004-10-10
  • 打赏
  • 举报
回复
不行,我不明白的是,为什么一摸一样的程序,放到别的机器上就能正常赋值呢?
sunliwen780502 2004-10-10
  • 打赏
  • 举报
回复
入口函数的声明,应该用dllimport,delete ini;放到最后.试试.
内容概要:本文详细介绍了基于Simulink仿真实现的单相交流电压控制器,该控制器采用两个背靠背连接的晶闸管结构,用于实现对单相交流电压的精确调节。文系统阐述了系统的建模过程、控制策略设计及仿真验证方法,重点分析了晶闸管触发角的控制原理及其对输出电压调节的影响。通过构建完整的Simulink仿真模型,全面展示了控制器在不同负载条件和输入电压波动下的动态响应特性与稳态性能,验证了该方案在交流调压应用的有效性与可行性。; 适合人群:具备电力电子与电力系统基础知识,熟悉Simulink仿真环境,从事相关领域研究或工程应用的研发人员及高年级本科生、研究生。; 使用场景及目标:①用于电力电子课程教学,帮助学生深入理解晶闸管在交流调压的工作机理;②为工业现场的交流电压调节设备提供仿真验证平台;③支持科研人员开展新型控制算法(如PID、模糊控制、触发角优化等)在交流电压控制器的应用研究与性能对比; 阅读建议:建议读者结合提供的Simulink模型文件进行同步操作,重点关注晶闸管触发控制子系统的设计逻辑、触发角计算模块的实现方式以及仿真参数的配置,通过调整负载类型、电源电压和触发角等变量,深入探究系统在不同工况下的运行特性与控制效果。

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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