End - программа завершения работы
-
4
Нужна помощь. В процессе доделки End под новый RDsave столкнулся с одной трудностью. Если делать в End чекбокс "Сохранить настройки", то перед выключением/перезагрузкой компа нужно дождаться, пока отработает и закроется RDsave. Как это сделать правильно? При вызове 70.7 в eax возвращается PID, а для 9-й функции нужен номер слота потока. Как его получить? Или перебирать все активные потоки по названию "RDsave"?
18.21Heavyiron wrote:При вызове 70.7 в eax возвращается PID, а для 9-й функции нужен номер слота потока. Как его получить?
Благодарю за наводку!Asper wrote:18.21
Наваял. На реальной системе, где есть куда сохранить образ, так удобнее, но есть несколько негативных моментов:
1) Размер выскочил за пределы 512 b (т. е. в образе будет уже 1 Кб).
2) Если система запущена в эмуляторе, где сохранение не работает (qemu, bochs...) придется либо скидывать чекбокс, либо тискать отмену сначала в opendialog, а потом закрывать RDsave чтобы выключить систему. Неудобно... Можно отключить чекбокс по умолчанию, но тогда смысла в нем нет - проще кнопку оставить.
В общем, пока в раздумьях...
1) Размер выскочил за пределы 512 b (т. е. в образе будет уже 1 Кб).
2) Если система запущена в эмуляторе, где сохранение не работает (qemu, bochs...) придется либо скидывать чекбокс, либо тискать отмену сначала в opendialog, а потом закрывать RDsave чтобы выключить систему. Неудобно... Можно отключить чекбокс по умолчанию, но тогда смысла в нем нет - проще кнопку оставить.
В общем, пока в раздумьях...
- Attachments
-
-
end.png (2.64 KiB)Viewed 8224 times
-
Last edited by Heavyiron on Sun Nov 10, 2013 6:40 pm, edited 1 time in total.
Кнопку можно было все таки оставить, надо же как то настроить путь для сохранения.
И почему бы не сохранять чекбокс в ини(скачать почему то не могу)
Расстояние от чекбокса до кнопок и края окна можно было бы уменьшить имхо
И почему бы не сохранять чекбокс в ини(скачать почему то не могу)
Расстояние от чекбокса до кнопок и края окна можно было бы уменьшить имхо
Если путь из rdsave.ini не найден, то opendialog и так откроется для выбора пути для сохранения. Ини не прикручивал для экономии размера - все еще надеюсь впихнуть программу в 512 б . Расстояния могу и уменьшить.
Ссылку пока убрал - в последний момент нашел баг.
Ссылку пока убрал - в последний момент нашел баг.
Last edited by Heavyiron on Sun Nov 10, 2013 6:41 pm, edited 1 time in total.
Без сохранения чекбокса в ини, чекбокс становиться не плюсом, а минусом, ведь теперь придется каждый раз нажимать на него, если не нужно сохранять. В ини обязательно (имхо)
Дело в том, что если сохранять некуда, то и ини не особо поможет - ты отключил чекбокс, это записалось в ini, но сам ini при следующей загрузке сбросится на дефолтный. Разве что отключить его по умолчанию и тогда уже в ini записывать его включение.
Да, не подумал. " Разве что отключить его по умолчанию и тогда уже в ini записывать его включение." так и сделай)
Heavyiron
Хорошо. Возле чекбокса лучше сделать чуть меньше честа по вертикали, т.к. сейчас он притягивает неоправданно слишком много внимания.
Хорошо. Возле чекбокса лучше сделать чуть меньше честа по вертикали, т.к. сейчас он притягивает неоправданно слишком много внимания.
Из хаоса в космос
Чекбокс по умолчанию отключил. При включении и успешном сохранении образа значение чекбокса записывается в rdsave.ini. Размер с подключением boxlib и libini ожидаемо вырос (1,3 Кб), так что о 512 байтах пришлось забыть. Как бы заоптимизировать до 1024 б...
R.4213 Тестируйте, у меня вроде стабильно все. Если нет - буду пилить дальше.
R.4213 Тестируйте, у меня вроде стабильно все. Если нет - буду пилить дальше.
- Attachments
-
-
end.png (2.32 KiB)Viewed 8118 times
-
Попробуй переместить константы и инициализированные данные в начало программы, до кода. Очень часто это помогает kpack сжать сильнее.Heavyiron wrote:Как бы заоптимизировать до 1024 б...
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
При перезагрузке через клавиатуру Ctrl+Alt+F12 -> Enter значение чекбокса переключается непосредственно перед перезагрузкой, что заставляет удивляться - пытается оно в этот момент сохранить что-нибудь или нет.
Сделаем мир лучше!
Исправил в 4250. Ошибочно полагал, что при вызове функции 18.9 программа тоже мгновенно убивается и не поставил ret.CleverMouse wrote:При перезагрузке через клавиатуру Ctrl+Alt+F12 -> Enter значение чекбокса переключается непосредственно перед перезагрузкой, что заставляет удивляться - пытается оно в этот момент сохранить что-нибудь или нет.
Who is online
Users browsing this forum: No registered users and 0 guests