接口数据类型问题

panjinfu80 2006-10-30 05:41:22
int (*TCallModem)(int nPort ,PInteger pnModemId);

int nTemp;
int ModemId;
if(((FARPROC &)TCallModem = GetProcAddress(hInst,"CallModem"))!= NULL)
nTemp = TCallModem(udPort->Position,&ModemId);
if (nTemp=1000)
memoTemp->Lines->Append(ModemId);
else
memoTemp->Lines->Append("呼叫通讯座失败");
-------------
ModemId=22读出时的值,显示在memoTemp时就乱七八糟的,不是22。请问什么改?直接IntToStr转换也不正确。
...全文
136 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
panjinfu80 2006-10-30
  • 打赏
  • 举报
回复
memoTemp->Lines->Add(IntToStr(ModemId));呢
-------------
不行的,地址出错。
PInteger pnModemId--关键在这。
jiangshx 2006-10-30
  • 打赏
  • 举报
回复
如果也不行,偶也想不出为啥不行,只能等别人的高见了
jiangshx 2006-10-30
  • 打赏
  • 举报
回复
memoTemp->Lines->Add(IntToStr(ModemId));呢
panjinfu80 2006-10-30
  • 打赏
  • 举报
回复
Edit1->Text=ModemId;用这个就可以正确显示。
panjinfu80 2006-10-30
  • 打赏
  • 举报
回复
是的,22。
jiangshx 2006-10-30
  • 打赏
  • 举报
回复
在if (nTemp=1000)处设断点,ModemId=22?

dll是你做的吗,参数会不会是应该类似这样调用?
int ModemId[100];
nTemp = TCallModem(udPort->Position,ModemId);

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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