Delphi 程序调用VC DLL,参数不正确。
typeTTest=function(chCountex:longInt):Boolean;varg_Test:TTest;g_IOCPLib:THandle;程序创造时...
typeTTest = function (chCountex:longInt):Boolean;varg_Test :TTest;g_IOCPLib : THandle;程序创造时g_IOCPLib := LoadLibrary('ServerDLL.DLL');//加载DLLSleep(500);g_Test := GetProcAddress(g_IOCPLib, 'Test'); procedure TForm1.IDC_ZiDongShangXianButtonClick(Sender: TObject);varn:longint;begin//caption为 3957720n := strToint(TrimRight(TrimLeft(IDC_GuangBoList.Items[0].caption)));showMessage(intToStr(n)); //弹出3957720if Assigned(g_Test) then beging_Test(n) ;end;//以上是delphi写的程序extern "C"{_declspec(dllexport) BOOL Test(DWORD chContext);}BOOL Test(DWORD chContext){ char *st; itoa(chContext,st,10); MessageBox(NULL,st,"传入值",0); //弹出1244664 ClientContext *pContext = (ClientContext*)(chContext); CString str; str.Format("%d",pContext); MessageBox(NULL,str,"转换数字的值",0); //弹出124464 if (pContext == NULL) return FALSE; if (pContext->m_Socket ==INVALID_SOCKET) return FALSE; //程序出错 MessageBox(NULL,(char*)pContext->m_Socket,"",0);//这个提示框没弹出来 return TRUE;}//以上是vc 写的DLL为什么我传入的值到了DLL却改变了?
展开
展开全部
程序太乱了吧,让帮主你的人更容易帮助你,也是一种美德
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询