Страница 42 из 207
					
				Clarion 11-12
				Добавлено: 10 Октябрь 2020, 21:24
				 Игорь Столяров
				finsoftrz писал(а): 10 Октябрь 2020, 21:12
надо только SYSTEM{Prop:CharSet} = CHARSET:CYRILLIC указывать
 
Указан он у меня. Но не помогает. 

Если у шрифта ToolTip вообще есть какая-то реакция на настройки, то StatusBar - нет вообще.
Я даже не знаю вообще каким шрифтом StatusBar выводится - похоже это где-то прошито в RTL.
 
			 
			
					
				Clarion 11-12
				Добавлено: 16 Октябрь 2020, 22:54
				 Игорь Столяров
				В крайнем релизе С11.13630 появились какие-то ограничения на использование BIND()
Этот код вообще без проблем работает уже лет 5 точно ...
Есть BROWSE в котором выводятся по 3 строки в 24 колонках. 
ABC шаблоны их зачем-то BIND'яд (и пусть биндяд если им это хочется)
Код сделанный штатным шаблоном ABC без вставок:
Код: Выделить всё
Loc:Mess             CSTRING(131),DIM(24,3)
  ...
  Code
  ...
  SELF.Errors &= GlobalErrors                        ! Set this windows ErrorManager to the global ErrorManager
  SELF.AutoToolbar = 0
  ! [Priority 5300]
  BIND('Loc:Mess_1_1',Loc:Mess[1,1])                        ! Added by: BrowseBox(ABC)
  BIND('Loc:Mess_1_2',Loc:Mess[1,2])                        ! Added by: BrowseBox(ABC)
  BIND('Loc:Mess_1_3',Loc:Mess[1,3])                        ! Added by: BrowseBox(ABC)
  BIND('Loc:Mess_2_1',Loc:Mess[2,1])                        ! Added by: BrowseBox(ABC)
  BIND('Loc:Mess_2_2',Loc:Mess[2,2])                        ! Added by: BrowseBox(ABC)
  ...
  BIND('Loc:Mess_24_1',Loc:Mess[24,1])                     ! Added by: BrowseBox(ABC)
  BIND('Loc:Mess_24_2',Loc:Mess[24,2])                     ! Added by: BrowseBox(ABC)
  BIND('Loc:Mess_24_3',Loc:Mess[24,3])                     ! Added by: BrowseBox(ABC)
  ! [Priority 5800]
  ! Initialize the procedure
  CLEAR(GlobalRequest)                                     ! Clear GlobalRequest after storing locally
  ...
 
Вот где-то на 10-12 BIND() теперь вышибает GPF. 
В предыдущем релизе C11 и C63 проблем с такой конструкцией - нет. 

 
			 
			
					
				Clarion 11-12
				Добавлено: 16 Октябрь 2020, 23:30
				 Дед Пахом
				Тут похожее, про массивы в бровзе:
https://clarionhub.com/t/v13640-gpf-v13 ... ode/3580/5
1. The GPF begins with v13622.
2. It involves use of a locally declared array with multiple elements used on the list of an ABC browse.
3. Including more array elements in the list, gives a GPF sooner.
4. A single list is the only control necessary on the window.
5. Array values do NOT need to be assigned.
6. No embed code is necessary.
 
			 
			
					
				Clarion 11-12
				Добавлено: 17 Октябрь 2020, 6:30
				 Игорь Столяров
				Спасибо ! Да, похоже та же самая проблема.
Просто я её немного детализировал - вылет происходит именно на операторе BIND, когда их много.
Пока закостылил и будем ждать исправление (как и многое другое). 

И надо подумать, где ещё в проектах такое может встречаться ...  
P/S: А ещё AnyScreen собираются страждущим продавать ...  

 
			 
			
					
				Clarion 11-12
				Добавлено: 17 Октябрь 2020, 9:18
				 finsoftrz
				Только очень смелые люди собирают серьезные приложения для продакшена на инструменте, который находится в стадии модификации. Лучше найти стабильную версию, и на ней работать несколько лет. А вспомогательное ПО, не критичное для пользователей, можно пробовать и на последних версиях.
Такая же ситуация и AnyScreen. Никто не собирается переводить критичные приложения на эту схему работы, по крайней мере, пока технология не устаканится. Но AnyScreen это шаг в правильном направлении, пробовать его на вспомогательных приложениях можно уже сейчас.
			 
			
					
				Clarion 11-12
				Добавлено: 17 Октябрь 2020, 13:21
				 kreator
				Причём здесь AnyScreen, если ломают работающие сто лет механизмы? Вот раньше была версия "Gold". Мы были уверены, что ошибок и глюков там минимум. Все остальные версии использовались для эксперимента (может для чего другого). Сейчас система сломана. В новом билде можно получить всё, что хочешь. И вот разработчики как дураки ищут стабильно работающий билд. Да чего я говорю, известная проблема. Хотя бы исправления своих глюков выпускали бы каждую неделю.
			 
			
					
				Clarion 11-12
				Добавлено: 17 Октябрь 2020, 13:29
				 Игорь Столяров
				kreator писал(а): 17 Октябрь 2020, 13:21
И вот разработчики как дураки ищут стабильно работающий билд.
 
Стабильно работающий билд - это где все известные проблемы вроде бы закрыты костылями. 

И при каждом обновлении надеешься, что хоть какие-то проблемы будут решены.
Ан нет ! Только добавляются новые. 
kreator писал(а): 17 Октябрь 2020, 13:21
Причём здесь AnyScreen
 
Я так понимаю, что рука-попные изменения в RTL как раз таки напрямую связаны с подвязкой AnyScreen.
 
			 
			
					
				Clarion 11-12
				Добавлено: 24 Октябрь 2020, 16:42
				 Дед Пахом
				В C11.13630 вызов COLORDIALOG ведёт к закрытию программы, без всяких сообщений.
			 
			
					
				Clarion 11-12
				Добавлено: 24 Октябрь 2020, 19:04
				 Игорь Столяров
				Возможно при каких-то специфических условиях вызова. У меня все работает штатно.
Такие вызовы используются в десятках мест - проблемы бы давно заметили (и без меня).
Код: Выделить всё
  If ColorDialog('Выберите цвет',MyField.FontColor,1)
     ...
  end
 
			 
			
					
				Clarion 11-12
				Добавлено: 24 Октябрь 2020, 19:06
				 Дед Пахом
				Вызываю так: COLORDIALOG(, rgb)
			 
			
					
				Clarion 11-12
				Добавлено: 24 Октябрь 2020, 19:09
				 Дед Пахом
				Проверил все варианты - падает только когда последний параметр опущен.
			 
			
					
				Clarion 11-12
				Добавлено: 24 Октябрь 2020, 19:13
				 Дед Пахом
				Не совсем так, падает, если последний параметр опущен или 0.
			 
			
					
				Clarion 11-12
				Добавлено: 24 Октябрь 2020, 19:34
				 Игорь Столяров
				Дед Пахом писал(а): 24 Октябрь 2020, 19:06
Вызываю так: COLORDIALOG(, rgb)
 
Проверил - всё прекрасно работает, проблем нет ...
А какой тип данных Вы передаёте в процедуру ? Я - Long.
 
			 
			
					
				Clarion 11-12
				Добавлено: 24 Октябрь 2020, 20:12
				 Дед Пахом
				Тоже LONG. Проверил сборки DLL/LIB, не влияют. Вот мой код.
Код: Выделить всё
  PROGRAM
  MAP
  END
Window                        WINDOW('Updown control demo'),AT(,,191,69),CENTER,GRAY,FONT('Segoe UI',12)
                                PROMPT('Selection color:'),AT(16,18),USE(?lblSelColor),FONT(,9)
                                BUTTON('...'),AT(76,15,14),USE(?bSelColor),FONT(,9)
                                BUTTON('Close'),AT(118,39,46),USE(?bCloe),STD(STD:Close)
                              END
clrSelectedText               SIGNED, AUTO
  CODE
  OPEN(Window)
  ACCEPT
    CASE ACCEPTED()
    OF ?bSelColor
      IF COLORDIALOG('Selected text', clrSelectedText)
!        MESSAGE(clrSelectedText)
      END
    END
  END
 
			 
			
					
				Clarion 11-12
				Добавлено: 24 Октябрь 2020, 20:29
				 Игорь Столяров
				А если убрать AUTO ? Там ведь идёт подсветка переданного значения цвета.
И если в ColorDialog передаётся некое ХЗ, то и результат может быть так себе ... 
Справка настаивает на варианте:
Код: Выделить всё
ColorNow LONG
  CODE
  IF NOT COLORDIALOG('Choose Box Color',ColorNow)
    ColorNow = 000000FFh          !Default to Red if user pressed Cancel
  END