Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,768

Как удалить из словаря именно то окно, для которого пришло событие 'closed'?

20.11.2022, 19:07. Показов 534. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос: как в том месте, где вопросики (21-я строка) удалить из словаря (wins) именно то окно для которого пришло событие 'closed'? Т.е. как понять для какого именно окна сработало это события и получить ссылку на него?

Само событие никаких данных не передаёт.

А переменная 'win':
1. Если вывести её в лог на этапе создания (14-я строка), то ок.
2. Если попытаться вывести в обработчике события 'closed', то JS-движок сообщает, что объект был уничтожен.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const { app, BrowserWindow } = require('electron');
const fs = require('fs');
var http = require('http');
var shellPort = process.argv[1];
var wins = new Map();
 
const fileLog = (item) => {
  fs.appendFile('log.txt', item + '\r\n', function(err) { });
}
 
const createWindow = (viewUri) => {
  var win = new BrowserWindow({ width: 1280, height: 720 });
 
  fileLog('create: ' + JSON.stringify(win));
  wins.set(viewUri, win);
 
  win.loadURL(viewUri);
 
  win.on('closed', () => {
    fileLog('closed: ' + JSON.stringify(win));
    //????
  });
};
 
const init = () => {
  http.createServer(function (request, response) {
 
    createWindow(request.headers['url']);
 
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.end();
  }).listen(shellPort, 'localhost');
}
 
init();
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.11.2022, 19:07
Ответы с готовыми решениями:

Из словаря создается объект, именами атрибутов которого будут ключи словаря
Из словаря создается объект, именами атрибутов которого будут ключи словаря, а значениями - значения из словаря по заданным ключам (a,b,c),...

Как определить к какому именно элементу применилось событие DoubleClick?
Как программно указать на элемент, по которому я два раза клацнул мышью? Вобщем я создал массив элементов label, и добавил туда...

Что пришло (и пришло ли?) на смену DCOM/RPC подходу?
Коллеги, кто распределенные приложения пишет - что пришло (и пришло ли?) на смену DCOM/RPC подходу? Хочется в коде вызывать метод/функцию,...

1
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3844 / 1699 / 431
Регистрация: 14.03.2022
Сообщений: 4,343
20.11.2022, 21:31
kotelok, сделай такую функцию
JavaScript
1
2
3
4
5
6
function primer(fileLog, win) {
    return _ => {
        fileLog('closed: ' + JSON.stringify(win));
        //????
    }
  }
Замени свое
Цитата Сообщение от kotelok Посмотреть сообщение
JavaScript
1
2
3
4
win.on('closed', () => {
    fileLog('closed: ' + JSON.stringify(win));
    //????
  });
На
JavaScript
1
win.on('closed', primer(fileLog, win));
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.11.2022, 21:31
Помогаю со студенческими работами здесь

Совет для создания словаря в виде дерева, на каждом уровне которого располагается буква
Здравствуйте, у меня есть задание - написать англо-русский словарь. Если бы задание на этом и заканчивалось, тогда бы можно было придумать...

Как определить, какие письма пришли именно в текущее событие Application_NewMail?
Добрый день уважаемые подскажите пожалуйста, как определить какие письма пришли именно в текущее событие Application_NewMail?

Создать класс словаря, метод которого для каждого слова возвращает его текстовое объяснение
Доброго времени суток! Помогите пожалуйста решить проблему, задача: Создать класс словаря, метод которого для каждого слова...

Как обработать событие клика именно на ветку узла TreeView, а не на сам узел
Как обработать событие клика именно на ветку узла, а не на сам узел. Т.е. чтобы при выделении главного узла ничего не происходило, а при...

Как удалить значение из словаря?
Есть код, который генерирует объекты и их точки появления а затем заносит все это в словарь, где ключ это точка появления объекта. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru