【发布时间】:2015-01-01 17:19:51
【问题描述】:
我正在构建一个 VST2 插件。我想知道何时创建插件窗口:加载 dll(在我的情况下为 InitInstance)或其他一些点(可能是 AEffEditor::open)?
我已经继承了AEffEditor。我正在InitInstance 中创建一个窗口,并在AEffEditor::open 和AEffEditor::close 中显示和隐藏该窗口。
看来InitInstance(dll加载)不是创建窗口的正确点,但那什么时候?
例如主机正在为 2 个插入实例创建 3 个窗口(一个在加载 dll 时)。
另一个问题:InitInstance(dll 加载)何时被调用?在主机启动时和每次发送/插入时?
我应该为每个 dll 加载创建一个窗口 (m_pMainWnd) 还是在单独的线程中创建它们并跟踪窗口? IE。 m_pMainWnd 会不同还是相同的单个窗口?
【问题讨论】:
-
通过在
open()中创建一个不存在的窗口来解决。