找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
12
返回列表 发新帖
打印 上一主题 下一主题

Catia二次开发(读取配置文件)

[复制链接]
11
发表于 2007-3-20 13:16:36 | 只看该作者
我在上面的GetPrivateProfileString("CONNECTION","ServerName",NULL,   
  ServerName.GetBuffer(MAX_PATH),MAX_PATH,".//backup.ini");中就是通过在"CONNEXTION"和"ServerName"字符型参数前都加了(BSTR)后已经使得函数的错误不报了,现在正在测试得到的结果想把它转成CATUnicodeString在弹出窗口显示查看是否正确,所以问了上面的问题。感谢  
horizan  
的回答,我再找找如何利用BSTR过渡,如果还是不能解决我再问你
12
发表于 2007-3-20 13:54:22 | 只看该作者
还要请问下:
我在测试时发生了如下问题
CString test = "D:\\backini.ini";
GetPrivateProfileString((BSTR)"CONNECTION",(BSTR)""LoginID",NULL,   
  LoginID.GetBuffer(MAX_PATH),MAX_PATH,test);
我这样写为了方便测试看取出的参数是否正确,我这样打印出的字符串为空,好象没有取出来,LoginID中没有任何数据?我是哪里出了错呢?如果直接把test内容打印出来就没有问题(我暂时还没有解决CString转CATUnicodeString,使用(char*)(test.AllocSysString())只能打印出第一个字母)
13
发表于 2007-3-20 15:05:54 | 只看该作者
CString在VC2005已经不好用了

CATUnicodeString        sFilePath= "D:\\backini.ini";
wchar_t ws_filename[256]; //<- 最好取sFilePath的长度后用alloc动态定长
sFilePath.ConvertToWChar( ws_filename);
LPTSTR FileName = (LPTSTR)ws_filename;
14
发表于 2007-3-20 16:55:16 | 只看该作者
CString到CATUnicodeString需要通过BSTR转换;

GetPrivateProfileString中的字符串应为_T(“你的字符串”)。
15
发表于 2007-3-20 16:58:46 | 只看该作者
acoka说的对,有些东西直接用CUnicodeString还比较好。

CString和CUnicodeString属于两个类,中间没有直接的转换,并接两者支持的字符集也不同。所以必须将其转换一下。
16
发表于 2007-3-20 21:13:06 | 只看该作者
谢谢两位的解答,下午没有时间上来看,晚上回家没有办法测试机器没有带回来
明天上班我去试试,再次感谢
17
发表于 2007-3-21 13:25:00 | 只看该作者
那我是不是不能用GetPrivateProfileString取配置文件信息了?
GetPrivateProfileString(_T("CONNECTION"),_T("PathStr"),NULL,
        PathStr.GetBuffer(MAX_PATH),
        MAX_PATH,       
        _T("D:\\PathFile.ini"));
这个函数中的第四项参数应该如何使用才能得到正确的CATUnicodeString类型的参数呢?(这里的PathStr是CString类型的)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-24 21:22 , Processed in 0.024206 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表