SOUI官方论坛

 找回密码
 立即注册
查看: 1337|回复: 9

soui 点击关闭按钮崩溃

[复制链接]
  • TA的每日心情
    郁闷
    2020-4-4 17:29
  • 签到天数: 2 天

    [LV.1]初来乍到

    3

    主题

    11

    帖子

    158

    积分

    24:00金丹期

    Rank: 2

    积分
    158
    发表于 2020-4-4 17:59:25 | 显示全部楼层 |阅读模式
    1SOUI币
    HRESULT hRes = OleInitialize(NULL);
    SASSERT(SUCCEEDED(hRes));
    int nRet = 0;
    SComLoader imgDecLoader;
    SComLoader renderLoader;
    SComLoader transLoader;
    //将程序的运行路径修改到项目所在目录
    TCHAR szCurrentDir[MAX_PATH] = { 0 };
    GetModuleFileName(NULL, szCurrentDir, sizeof(szCurrentDir));
    LPTSTR lpInsertPos = _tcsrchr(szCurrentDir, _T('\\'));
    _tcscpy(lpInsertPos + 1, _T(""));
    SetCurrentDirectory(szCurrentDir);
    {
      CAutoRefPtr<SOUI::IImgDecoderFactory> pImgDecoderFactory;
      CAutoRefPtr<SOUI::IRenderFactory> pRenderFactory;
      imgDecLoader.CreateInstance(COM_IMGDECODER, (IObjRef**)&pImgDecoderFactory);
      renderLoader.CreateInstance(COM_RENDER_GDI, (IObjRef**)&pRenderFactory);
      pRenderFactory->SetImgDecoderFactory(pImgDecoderFactory);
      theApp = new SApplication(pRenderFactory, hInstance);
      HMODULE hSysResource = LoadLibrary(SYS_NAMED_RESOURCE);
      if (hSysResource)
      {
       CAutoRefPtr<IResProvider> sysSesProvider;
       CreateResProvider(RES_PE, (IObjRef**)&sysSesProvider);
       sysSesProvider->Init((WPARAM)hSysResource, 0);
       theApp->LoadSystemNamedResource(sysSesProvider);
      }
      CAutoRefPtr<IResProvider> pResProvider;
      SOUI::CreateResProvider(RES_PE, (IObjRef * *)& pResProvider);
      if (!pResProvider->Init((WPARAM)hInstance, 0))
      {
       SASSERT(0);
       return 1;
      }
      theApp->AddResProvider(pResProvider);
      CMainWnd wndMain;
      wndMain.Create(GetActiveWindow(), 0, 0, 920, 703);
      wndMain.SendMessage(WM_INITDIALOG);
      wndMain.CenterWindow(wndMain.m_hWnd);
      wndMain.ShowWindow(SW_SHOWNORMAL);
      nRet = theApp->Run(wndMain.m_hWnd);
      if (hSysResource)
      {
       FreeLibrary(hSysResource);
       hSysResource = nullptr;
      }
      
      delete theApp;
      theApp = nullptr;
    }
    OleUninitialize();
    这是main 函数代码   点击关闭按钮崩溃

    TestSOUI.rar (2.58 MB, 下载次数: 1)


    堆栈信息

    堆栈信息

    堆栈信息

    堆栈信息

    最佳答案

    查看完整内容

    注意你的代码里每个对象的生命周期。 CMainWnd析构要在SApp删除之前。 好好注意demo里的每一行代码。
  • TA的每日心情
    奋斗
    2022-7-4 09:45
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    59

    主题

    590

    帖子

    5515

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    5515

    突出贡献优秀版主

    发表于 2020-4-4 17:59:26 | 显示全部楼层
    1. CMainWnd wndMain;
    2.   wndMain.Create(GetActiveWindow(), 0, 0, 920, 703);
    3.   wndMain.SendMessage(WM_INITDIALOG);
    4.   wndMain.CenterWindow(wndMain.m_hWnd);
    5.   wndMain.ShowWindow(SW_SHOWNORMAL);
    6.   nRet = theApp->Run(wndMain.m_hWnd);
    7.   if (hSysResource)
    8.   {
    9.    FreeLibrary(hSysResource);
    10.    hSysResource = nullptr;
    11.   }
    12.   
    13.   delete theApp;
    14.   theApp = nullptr;
    复制代码

    注意你的代码里每个对象的生命周期。
    CMainWnd析构要在SApp删除之前。
    好好注意demo里的每一行代码。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    前天 22:51
  • 签到天数: 946 天

    [LV.10]以坛为家III

    581

    主题

    1343

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    28876
    发表于 2020-4-4 18:06:10 | 显示全部楼层
    最好上demo压缩包,别人也方便直接改
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2020-4-4 17:29
  • 签到天数: 2 天

    [LV.1]初来乍到

    3

    主题

    11

    帖子

    158

    积分

    24:00金丹期

    Rank: 2

    积分
    158
     楼主| 发表于 2020-4-4 18:47:35 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2020-4-4 17:29
  • 签到天数: 2 天

    [LV.1]初来乍到

    3

    主题

    11

    帖子

    158

    积分

    24:00金丹期

    Rank: 2

    积分
    158
     楼主| 发表于 2020-4-4 18:48:19 | 显示全部楼层
    百度网盘和提取码已发
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2020-4-4 17:29
  • 签到天数: 2 天

    [LV.1]初来乍到

    3

    主题

    11

    帖子

    158

    积分

    24:00金丹期

    Rank: 2

    积分
    158
     楼主| 发表于 2020-4-4 18:50:43 | 显示全部楼层
    第一次发帖   忘了修改soui币了,下次多一些
    回复

    使用道具 举报

  • TA的每日心情
    开心
    前天 22:51
  • 签到天数: 946 天

    [LV.10]以坛为家III

    581

    主题

    1343

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    28876
    发表于 2020-5-30 13:05:45 | 显示全部楼层
    2020soui 发表于 2020-4-4 18:50
    第一次发帖   忘了修改soui币了,下次多一些

    现在问题解决了吗?demo你不需要把一些编译生成的中间文件也打包,你传的demo有80M左右,太大了
    回复

    使用道具 举报

  • TA的每日心情
    开心
    前天 22:51
  • 签到天数: 946 天

    [LV.10]以坛为家III

    581

    主题

    1343

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    28876
    发表于 2020-5-30 17:07:58 | 显示全部楼层
    建议你直接用SOUI2的最新版来调试使用,我试了试发现不会改,就把无用文件删除后传到一楼了
    回复

    使用道具 举报

  • TA的每日心情
    开心
    前天 22:51
  • 签到天数: 946 天

    [LV.10]以坛为家III

    581

    主题

    1343

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    28876
    发表于 2020-5-30 19:24:35 | 显示全部楼层
    setoutsoft 发表于 2020-5-30 18:45
    注意你的代码里每个对象的生命周期。
    CMainWnd析构要在SApp删除之前。
    好好注意demo里的每一行代码。

    还是创世神厉害!
    2020-05-30_192304.png

    改下作用域就行了
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2020-4-4 17:29
  • 签到天数: 2 天

    [LV.1]初来乍到

    3

    主题

    11

    帖子

    158

    积分

    24:00金丹期

    Rank: 2

    积分
    158
     楼主| 发表于 2020-12-29 19:35:29 | 显示全部楼层
    admin 发表于 2020-5-30 19:24
    还是创世神厉害!

    确实,自己没有理解原理。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|SOUI官方论坛

    GMT+8, 2024-5-18 14:17

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表