我想制作一个自定义的VCL控件,通过SDL_CreateWindowFrom函数包装一个SDL渲染表面。SDL_CreateWindowFrom需要一个现有的HWND句柄,并将高性能渲染上下文(它有几个后端可用,包括DirectX和OpenGL)放到该句柄上。
帮助文件中说:“在组件创建或流式传输期间不要引用Handle属性。”但它没有说明原因。它说第一次尝试访问Handle属性时,它会调用HandleNeeded以确保存在有效的句柄。
所以我有两个问题。1:为什么在组件创建期间不应引用Handle属性?2. 如果该控件的整个目的是包装需要初始化HWND的渲染表面,那么什么时候才能安全地执行理应在创建/流传期间进行的初始化呢?
帮助文件中说:“在组件创建或流式传输期间不要引用Handle属性。”但它没有说明原因。它说第一次尝试访问Handle属性时,它会调用HandleNeeded以确保存在有效的句柄。
所以我有两个问题。1:为什么在组件创建期间不应引用Handle属性?2. 如果该控件的整个目的是包装需要初始化HWND的渲染表面,那么什么时候才能安全地执行理应在创建/流传期间进行的初始化呢?