如何调用主程序中的变量给DLL窗体
1个回答
展开全部
函数参数的规定应该不是绝对定死的,至少应该有针对不同类型参数的规定。
一般的做法是,使用指针在调用和被调用之间传递数据。做法可以参考WIN32API和一些大型软件的做法。据我所知,大致有两种情况:
1.类似WIN32API的做法。不论是IN还是OUT参数,所有的存储空间都有调用方提供。如:
GetTemp(TCHAR* TempPath);
调用时,TCHAR tp[80]; memset(tp, 0, 80*sizeof(TCHAR)); GetTemp(tp);
2.类似AutoCAD API的做法。凡是需要OUT的参数,所有的存储空间都由被调函数提供。这种情况,一般还同时会提供一个空间释放函数,类似free()。例:
GetTemp(TCHAR** TempPath);
调用时:TCHAR* tp=NULL; GetTemp(&tp); ...; free(tp);
一般的做法是,使用指针在调用和被调用之间传递数据。做法可以参考WIN32API和一些大型软件的做法。据我所知,大致有两种情况:
1.类似WIN32API的做法。不论是IN还是OUT参数,所有的存储空间都有调用方提供。如:
GetTemp(TCHAR* TempPath);
调用时,TCHAR tp[80]; memset(tp, 0, 80*sizeof(TCHAR)); GetTemp(tp);
2.类似AutoCAD API的做法。凡是需要OUT的参数,所有的存储空间都由被调函数提供。这种情况,一般还同时会提供一个空间释放函数,类似free()。例:
GetTemp(TCHAR** TempPath);
调用时:TCHAR* tp=NULL; GetTemp(&tp); ...; free(tp);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询