zoukankan      html  css  js  c++  java
  • 3DMAX二次开发N大噩梦

    • 使用 ShowDialog (modal) 他可能崩溃
    • 使用多线程,如果线程异常,他不会为你报告异常 他可能崩溃
    • 如果对窗口资源使用了Dispose,那么在下一次打开任意一个具有模态属性的窗口时 他可能崩溃(2021)
      2021.3.28 : 2022版本发布已修复

    以上三条经过摸索推测:
    模态框的本质是禁用父窗体,当弹出模态框后,MAX后台扫描父窗体发起禁用操作,但未对资源做可用检测。


    在这种情况下,max主动要求崩溃,事实上功能依然完好,利用后台线程,你依然可以利用代码打开模型,甚至渲染

    global LoadingForm
    fn loading =
    (
    	try LoadingForm.Dispose() catch() -- crash
    	-- try LoadingForm.Close() catch() -- ok
    	--	
    	LoadingForm = DotnetObject "MaxCustomControls.MaxForm"
    	LoadingForm.Size = (DotnetObject "System.Drawing.Size" 500 600)
    	LoadingForm.StartPosition = (DotnetClass "System.Windows.Forms.FormStartPosition").CenterScreen
    	--
    	MaxHwndPtr = (DotNetObject "System.IntPtr" (Windows.GetMaxHwnd()))
    	LoadingForm.Show((DotNetObject "System.Windows.Forms.NativeWindow").FromHandle MaxHwndPtr)
    )
    
    loading()
    	sleep 0.2
    loading()
    
    messageBox "crash!"
    
  • 相关阅读:
    poj 2942 Knights of the Round Table 双连通分量
    zoj 2588 Burning Bridges 桥
    desin pattern
    android
    ubuntu
    centos
    android布局
    gradle
    好站
    tomcat datasource
  • 原文地址:https://www.cnblogs.com/trykle/p/14348501.html
Copyright © 2011-2022 走看看