如何从另一个函数调用属于 class 成员的函数?

How do I call a function that is member of a class, from another function?

所以我有以下内容:

INT CMainFrm::load(Cstring path)
{

}

extern "C"
{
   EXPORT void fileLoad(CString filePath)
   {
      CMainFrm *cmf = new CMainFrm();
      cmf->load(filePath);
   }
}

两者都位于 mainfrm.cpp。

fileLoad() 是从 dll 中调用的,并且工作正常。 当我尝试从 fileload() 内部调用 load() 时,它给了我未处理的异常...我也尝试使用 CMainFrm 的实例调用它,但结果是一样的。关于如何正确执行此操作的任何建议?

您必须调用 Create for dynamically allocated/created MFC classes (CWnd),否则您的 m_hWnd 将无效并且您的 window 不会创建。
您很可能会遇到异常。

您需要调用已经存在的CMainFrm对象。 (它是在程序启动时创建的。)MFC 提供了一个全局函数,您可以调用该函数来获取指向此 main window 的指针:AfxGetMainWnd()。您可以将返回值转换为 CMainFrm* 并使用它来调用加载。