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