OberonCore https://forum.oberoncore.ru/ |
|
Знак % в сообщениях (исправление бага в Linux) https://forum.oberoncore.ru/viewtopic.php?f=134&t=6938 |
Страница 1 из 1 |
Автор: | arisu [ Четверг, 16 Март, 2023 08:16 ] |
Заголовок сообщения: | Знак % в сообщениях (исправление бага в Linux) |
и, кстати. в линукс-версии во всех кусках, где модальные данетки и прочая показывается, всё тот же любимый баг с "%s". `gtk_message_dialog_new()` на вход принимает printf-style формат, а мы туда суём сразу строку. попадётся где-то в запросе процент — и приехали. я так починил: добавил `strptr` в прототип: Код: PROCEDURE [ccall16] gtk_message_dialog_new* (parent:GtkWindow; flags:SET; type:GtkMessageType;buttons:GtkButtonsType;IN message_format:String(*...*); strptr: INTEGER): GtkMessageDialog; и везде делаю нечто вроде: Код: dlg := Gtk.gtk_message_dialog_new(NIL, Gtk.GTK_DIALOG_MODAL + Gtk.GTK_DIALOG_DESTROY_WITH_PARENT, type, bt, "%s", SYSTEM.ADR(uMsg[0])); ну, думаю, идея фикса понятна. просто забрать у меня не выйдет, потому что я вынес это в отдельный модуль, чтобы рассыпуху по коду не искать. ну, или можно как у меня: всё в модуль HostMsgBoxForm, и обращаться уже только к нему. ;-) p.s.: я туда полез потому что грязнохачу модальные окошки, и собираюсь сделать эту штуку не гткшной, а формой. хак будет очень-очень грязный, правда, но в теории — работоспособный. ;-) |
Автор: | Иван Денисов [ Четверг, 16 Март, 2023 12:58 ] |
Заголовок сообщения: | Re: BlackBox 2.0 |
"Тысяча чертей", да вы правы. И первый раз кто-то на это обратил внимание. А баг весьма лютый. Вложение: Но лучше вот так указатель на строку PString сделать ведь? |
Автор: | arisu [ Четверг, 16 Март, 2023 17:01 ] |
Заголовок сообщения: | Re: BlackBox 2.0 |
ну, у меня немного другой код просто, мне конкретно тогда было удобней адрес, я и воткнул. тут, мне кажется, без разницы, действительно ли строка, или что другое, лишь бы починить. я увидел и сразу побежал сообщать. кстати. надо бы сделать поддержку `…` для ccall в компиляторе. никаких особенных проблем с этим нет. |
Автор: | arisu [ Пятница, 17 Март, 2023 03:38 ] |
Заголовок сообщения: | Re: BlackBox 2.0 |
rстати. там же в HostGui/Lin ещё printf есть, тоже надо починить на write, например. он, кажется, особо не взывается, но всё равно… |
Автор: | Иван Денисов [ Пятница, 17 Март, 2023 08:52 ] |
Заголовок сообщения: | Re: BlackBox 2.0 |
arisu писал(а): кстати. надо бы сделать поддержку `…` для ccall в компиляторе. никаких особенных проблем с этим нет. Да вроде нет какой-то нужды в этом. По крайней мере для доработки текущей версии — точно. |
Автор: | arisu [ Пятница, 17 Март, 2023 09:28 ] |
Заголовок сообщения: | Re: BlackBox 2.0 |
но ведь и не мешает! ;-) |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |