OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 22:35

Часовой пояс: UTC + 3 часа




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 6 ] 
Автор Сообщение
СообщениеДобавлено: Четверг, 16 Март, 2023 08:16 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1163
и, кстати. в линукс-версии во всех кусках, где модальные данетки и прочая показывается, всё тот же любимый баг с "%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.: я туда полез потому что грязнохачу модальные окошки, и собираюсь сделать эту штуку не гткшной, а формой. хак будет очень-очень грязный, правда, но в теории — работоспособный. ;-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox 2.0
СообщениеДобавлено: Четверг, 16 Март, 2023 12:58 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
"Тысяча чертей", да вы правы. И первый раз кто-то на это обратил внимание. А баг весьма лютый.
Вложение:
getOkTest.png
getOkTest.png [ 123.72 КБ | Просмотров: 4514 ]

Но лучше вот так указатель на строку PString сделать ведь?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox 2.0
СообщениеДобавлено: Четверг, 16 Март, 2023 17:01 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1163
ну, у меня немного другой код просто, мне конкретно тогда было удобней адрес, я и воткнул. тут, мне кажется, без разницы, действительно ли строка, или что другое, лишь бы починить. я увидел и сразу побежал сообщать.

кстати. надо бы сделать поддержку `…` для ccall в компиляторе. никаких особенных проблем с этим нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox 2.0
СообщениеДобавлено: Пятница, 17 Март, 2023 03:38 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1163
rстати. там же в HostGui/Lin ещё printf есть, тоже надо починить на write, например. он, кажется, особо не взывается, но всё равно…


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox 2.0
СообщениеДобавлено: Пятница, 17 Март, 2023 08:52 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
arisu писал(а):
кстати. надо бы сделать поддержку `…` для ccall в компиляторе. никаких особенных проблем с этим нет.

Да вроде нет какой-то нужды в этом. По крайней мере для доработки текущей версии — точно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox 2.0
СообщениеДобавлено: Пятница, 17 Март, 2023 09:28 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1163
но ведь и не мешает! ;-)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB