在 Electron react typescript 应用程序中,我使用主窗口中的按钮打开一个新窗口。
如果我关闭第二个窗口,请单击右上角的“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.tslet 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"
....所以...有什么建议吗?
最佳答案
解决了 !!!通过分割窗口的创建:mainwindow和second-window:
const createWindowTypeA = (): void => {
}
const createWindow = (): void => {
}
关于reactjs - 错误: Object has been destroyed when trying to re-open a second BrowserWindow - Electron. js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65688981/