|
发表于 2024-9-1 17:21:55
From FishC Mobile
|
显示全部楼层
|阅读模式
1鱼币
void CFX3UDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
CString str,str1,str2;
if (m_FXPLC.ReadDeviceRandom(_T("D50\nD60"), 2, PLCRdata ) == 0x00)
{
str1.Format(_T("%d"), PLCRdata[0]);
str2.Format(_T("%d"), PLCRdata[1]);
str = str1 + _T(",") + str2;
MessageBox(_T("str"));
}
}
\\报警提示
d:\a01\_work\11\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\olemisc.cpp(423) : AppMsg - Warning: constructing COleException, scode = DISP_E_TYPEMISMATCH ($80020005).
0x76AE0D72 处(位于 FX3U.exe 中)引发的异常: Microsoft C++ 异常: COleException,位于内存位置 0x004FE4A0 处
理解了。感谢你的耐心。让我们一步一步来检查和改正。
1. **检查 `PLCRdata` 的定义:** 确认 `PLCRdata` 是一个数组,并且有足够的空间存储读取的数据。
2. **修正格式化输出:** 需要从数组中提取数据进行格式化。
以下是一个改进的版本:
- void CFX3UDlg::OnBnClickedButton2()
- {
- // TODO: 在此添加控件通知处理程序代码
- CString str, str1, str2;
- if(m_FXPLC.ReadDeviceRandom(_T("D50\nD60"), 2, PLCRdata) == 0x00)
- {
- // 假设 PLCRdata 是一个尺寸为 2 的数组
- str1.Format(_T("%d"), PLCRdata[0]);
- str2.Format(_T("%d"), PLCRdata[1]);
- // 拼接字符串
- str = str1 + _T(",") + str2;
- // 显示读取的数据
- MessageBox(str);
- }
- }
复制代码
确保 `PLCRdata` 定义如下:
- int PLCRdata[2]; // 示例定义,确保容纳从 ReadDeviceRandom 读取的两个整数
复制代码
**注意:** 请确认 `ReadDeviceRandom` 确实是按这种方式工作,并且第三个参数确实是一个数组。
希望这次能解决你的问题。如果还有其他问题,随时问我!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
|
-
-
最佳答案
查看完整内容
理解了。感谢你的耐心。让我们一步一步来检查和改正。
1. **检查 `PLCRdata` 的定义:** 确认 `PLCRdata` 是一个数组,并且有足够的空间存储读取的数据。
2. **修正格式化输出:** 需要从数组中提取数据进行格式化。
以下是一个改进的版本:
确保 `PLCRdata` 定义如下:
**注意:** 请确认 `ReadDeviceRandom` 确实是按这种方式工作,并且第三个参数确实是一个数组。
希望这次能解决你的问题。如果 ...
|