【发布时间】:2021-04-17 16:50:11
【问题描述】:
在电子反应打字稿应用程序中,我使用主窗口中的按钮打开一个新窗口。
如果我点击右上角的“x”关闭第二个窗口,
单击主窗口中的按钮时,我收到以下消息:
"Error invoking remote method. TypeError: Object has been destroyed"。
我发现了这个:Object has been destroyed Exception after reopen BrowserWindow on button click in Electron。
但是这个建议对我没有帮助,因为点击主窗口中的按钮我调用了这个函数:
window.api.electronIpcOn('window-A-opened')
已经激活了 main.ts 中的功能:
ipcMain.handle("open-type-A-window")
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
mainWindow = null;
WindowTypeA = null;
//WindowTypeA.destroy();
});
我也尝试了一个 windowsList: main.ts
let windowsList = []; const windowDestroy = (win) {
let i = windowsList.indexOf(win);
if (i > -1) {
windowsList.splice(i, 1);
win = null;
}
}
const createWindow = (): void => {
windowsList.push(WindowTypeA);
WindowTypeA.on('closed', function () {
windowDestroy(WindowTypeA);
});
}
但还是同样的错误:"Error invoking remote method. TypeError: Object has been destroyed"
....所以...有什么建议吗?
【问题讨论】:
标签: reactjs typescript electron electron-window