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!"
    
  • 相关阅读:
    PP常用bapi
    sap 常用表
    MM常用BADI
    submit 后台运行代码
    SAP 采购订单行项目中科目分配被隐藏,发现行项目设置中显示字段长度为0
    SAP 创建物料主数据分类视图特性
    去读物料的分类值
    SAP 常用函数
    SAP 禁止某个库位的货物移动
    SAP 打开账期
  • 原文地址:https://www.cnblogs.com/trykle/p/14348501.html
Copyright © 2011-2022 走看看