On-line: SergKis, гостей 2. Всего: 3 [подробнее..]
АвторСообщение
модератор




Пост N: 699
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)


Начало темы находится здесь, а теперь

АНОНС * АНОНС * АНОНС * АНОНС * АНОНС

Готовится к опубликованию новая сборка №48, которая выйдет в конце недели.
Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне

Кратко, что нового:

- исправление обнаруженных ошибок и неточностей кода;
- новый класс HEADERIMAGE для Grid и Browse;
- свойство Address в Hyperlink может теперь открывать папку или файл на диске;
- добавлен NOTABSTOP класс для Browse;
- поддержка пользовательских компонентов (заимствована из оффициального релиза);
- расширения и исправления в библиотеках TsBrowse и PropGrid;
- обновлены сборки Харбор и HMGS-IDE;
- новые и обновленные старые примеры (как обычно ).




Спасибо: 5 
ПрофильЦитата Ответить
Ответов - 224 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 All [только новые]


moderator




Пост N: 1872
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 08.06.21 12:28. Заголовок: i3t4j6 пишет: вывод..


i3t4j6 пишет:

 цитата:
вывод ошибки на экран - обыкновенный текст на белом фоне


Понял
Тогда только вариант с собственным обработчиком

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1691
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 08.06.21 15:28. Заголовок: i3t4j6 пишет: Progr..


i3t4j6 пишет:

 цитата:
Program Error -вывод ошибки на экран - обыкновенный текст на белом фоне, а не желтое на красном и на весь
экран !


у меня вообще валится без всяких окон, ни красных ни белых , хорошо хоть лог пишет
 
Time from start: 0 days 0 hours 0 mins 3 secs<BR>
<span class="error">Error MGERROR/0 Control: Btn_01 Of oDlg Not defined. Program terminated.</span>
</p>
<details><summary>
--------------------------------- Stack Trace ---------------------------------
<br/></summary><span class="stacktrace">
Called from MSGMINIGUIERROR(0)
<BR>
Called from VERIFYCONTROLDEFINED(0)
<BR>
Called from SETPROPERTY(0)
<BR>
Called from FILLDLG(0)
<BR>
Called from HMG_ALERT(0)
<BR>
Called from _ALERT(0)
<BR>
Called from ALERTSTOP(0)
<BR>
Called from SHOWERROR(0)
<BR>
Called from DEFERROR(0)
<BR>
Called from (b)ERRORSYS(0)
<BR>
Called from K_BROWSE(35) in module: K_Browse.prg
<BR>
Called from OPENPRJ(194) in module: Module.prg
<BR>
Called from (b)MAIN(290) in module: Main.prg
<BR>
Called from DO_WINDOWEVENTPROCEDURE(0)
<BR>
Called from TWNDDATA:DOEVENT(0)
<BR>
Called from DO_ONWNDLAUNCH(0)
<BR>
Called from (b)INIT(0)
<BR>
Called from EVENTS(0)
<BR>
Called from DOMESSAGELOOP(0)
<BR>
Called from _ACTIVATEWINDOW(0)
<BR>
Called from MAIN(404) in module: Main.prg



Саму ошибку сделал специально чтоб посмотреть на красное
 
FUNCTION K_Browse(oWnd, nPage)
LOCAl cSql := ""
LOCAl cBrw, cBrw1 := ""
LOCAl oBrw, oBrw1
LOCAl cAlias := ""
LOCAl cAlias1 := ""
LOCAL nRecCount := 0
LOCAL aFields := {}
LOCAL cCol := ""

? a[1]
// вот тут обращение к несуществующему массиву


ЗЫ пока Пересобрал библиотеку со старой редакцией ShowError(). работает хоть

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6964
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.06.21 17:03. Заголовок: Haz пишет: у меня в..


Haz пишет:

 цитата:
у меня вообще валится без всяких окон, ни красных ни белых , хорошо хоть лог пишет


Возьми в новом исходнике ErrorSys.prg строка 242:
      AlertStop( cMsg, "Program Error", "ZZZ_B_STOP64", 64, { { 217, 67, 67 } }, .T., bInit )

Поставь так:
    MsgStop( cMsg, "Program Error")    // обыкновенный текст на белом фоне 

Но ошибка на красном фоне приятней смотрится и юзер понятней что ошибка.

Я писал об ошибке в HMG_ALERT(), что-то там надо докрутить.
У меня тоже вылетает в FILLDLG().
Скорее всего ошибка здесь:
      bInit := {|| iif( GetControlType( "Say_01", "oDlg" ) == "EDIT",, ( ; 
SetProperty( "oDlg", "Say_01", "FontColor", YELLOW ), ;
SetProperty( "oDlg", "Say_01", "Alignment", "CENTER" ), ;
SetProperty( "oDlg", "Say_02", "FontColor", YELLOW ), ;
SetProperty( "oDlg", "Say_02", "Alignment", "CENTER" ) ) ) }

Не находит объект Say_02.
Ради теста добавь к себе в проект ErrorSys.prg и посмотри...

Я у себя сделал сохранения скрина экрана ошибки в папку ошибок - полезная штука для анализа ошибок.
У меня в проге один модуль работает с пятью таблицами.
И когда происходит ошибка, то я не могу понять где произошла ошибка.
Нет алиаса базы при ошибке, нет номера записи при ошибке.
Есть только номер строки ошибки и всё.
Скрин экрана ОЧЕНЬ помогает при анализе ошибки.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1692
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 08.06.21 17:18. Заголовок: Andrey пишет: Возьм..


Andrey пишет:

 цитата:
Возьми в новом исходнике ErrorSys.prg строка 242:


так уже старый вариант в исхоники перекомпилил
Andrey пишет:

 цитата:
Но ошибка на красном фоне приятней смотрится и юзер понятней что ошибка.

Ну тут на вкус и цвет все фломастеры разные. Мне наоборот кажется что от красных окон пользователи в обморок падать начнут. У меня есть проекты с очень бледным интерфейсом по цветам ( заказчик пожелал ) и красное окно точно ему не понравится.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6965
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.06.21 17:45. Заголовок: Haz пишет: Мне наоб..


Haz пишет:

 цитата:
Мне наоборот кажется что от красных окон пользователи в обморок падать начнут.


У меня наоборот, юзер не сообщает об ошибке.
Можно поправить на свой ЛЮБОЙ цвет в строке 237:
      SET MSGALERT BACKCOLOR TO MAROON  
SET MSGALERT FONTCOLOR TO WHITE

С новым модулем ErrorSys.prg легче стало править окно ошибки под себя.
В старом модуле у меня при ошибке кнопки Ok иногда не было видно, уходило за границу экрана.
Да и скопировать ошибку в буфер экрана - это уже давно у всех есть, а в МиниГуи не было до сих пор.
В новом модуле ErrorSys.prg так же зашит поиск по трём фильтрам:

Если прога стоит на сервере терминалов, то не понятно было какая станция свалилась по ошибке.
Сейчас добавлена вот такая строка:
   Html_LineText( HtmArch, 'User: ' + NetName() + " / " + GetUserName() )

Я в своём обработчике ошибок (исправленном под себя) добавил ещё такие строки:
 
Html_LineText( HtmArch, 'Application: ' + GetExeFileName() + " " + M->cPubVersProg )
Html_LineText( HtmArch, 'User: ' + NetName()+"/"+hb_UserName()+"/"+M->cOperator )
Html_LineText( HtmArch, 'DbInfo: Alias - '+ ALIAS() + ', Ord - ' + OrdSetFocus() + ;
', Recno - ' + HB_NtoS(RecNo()) + '/' + HB_NtoS(LastRec()) )


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1693
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 08.06.21 18:00. Заголовок: Andrey пишет: У мен..


Andrey пишет:

 цитата:
У меня наоборот, юзер не сообщает об ошибке.


я Сам смотрю по логам, плюс прилетает на почту сообщение ( опционально ) и в Bitrix сообщением по некоторым проектам
считаю что пользователь и сообщать не должен, т.к. многие прочитать что написано не в состоянии.

Andrey пишет:

 цитата:
Можно поправить на свой ЛЮБОЙ цвет в строке 237:


вопрос не в цвете, как поправить знаю. Вопрос в тихом падении, пользователь даже понять не может куда все делось.

Andrey пишет:

 цитата:
В новом модуле ErrorSys.prg зашит поиск по трём фильтрам:


наверное это хорошо. иногда быстрее просто текстовым просмотром глянуть особенно с телефона . Мне не принципиально в каком виде лог ведется , главное там все есть.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 141
Зарегистрирован: 12.06.06
ссылка на сообщение  Отправлено: 09.06.21 08:01. Заголовок: Haz пишет: Ну тут н..


Haz пишет:

 цитата:
Ну тут на вкус и цвет все фломастеры разные.


Поэтому я и предложил предусмотреть возможность переключения между классическим вариантом и
мультиками.

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1873
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 09.06.21 09:23. Заголовок: i3t4j6 пишет: я и п..


i3t4j6 пишет:

 цитата:
я и предложил предусмотреть возможность переключения между классическим вариантом и
мультиками.


Благодарю за подсказку
Я добавил во втором апдейте текущей сборки новую команду:

 цитата:
SET SHOWREDALERT [ON | OFF]


для возможности управлять видом этого окна.
Скоро выложу это обновление

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3754
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.06.21 09:50. Заголовок: gfilatov2002 пишет Я..


gfilatov2002 пишет
 цитата:
Я добавил во втором апдейте текущей сборки новую команду:


Может вариант блока кода обработчика сделать для замены, что то такое
 
STATIC bErrorSys
FUNC _bErrorSys( bErr )
IF pCount() > 0 ; bErrorSys := bErr
ENDIF
RETURN bErrorSys
*-----------------------------------------------------------------------------*
PROCEDURE ErrorSys
*-----------------------------------------------------------------------------*
LOCAL bErr := _bErrorSys( bErr )
IF Valtype(bErr) != "B" ; bErr := { | oError | DefError( oError ) }
ENDIF
ErrorBlock( bErr )
#ifndef __XHARBOUR__
Set( _SET_HBOUTLOG, GetStartUpFolder() + "\error.log" )
Set( _SET_HBOUTLOGINFO, MiniGUIVersion() )
#endif
RETURN


Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1874
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 09.06.21 10:06. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Может вариант блока кода обработчика сделать для замены


Сергей!

Идея понятна, но для такой замены есть же стандартные средства со времен Клиппера

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3755
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.06.21 10:12. Заголовок: gfilatov2002 пишет д..


gfilatov2002 пишет
 цитата:
для такой замены есть же стандартные средства со времен Клиппера


Что то я подзабыл, как это делать, так давно было
Для hmg подменяем ErrorSys.prg на свой вариант

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1875
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 09.06.21 10:28. Заголовок: SergKis пишет: подз..


SergKis пишет:

 цитата:
подзабыл, как это делать


См. примеры в папках:
- basic\MyErrorFunc;
- basic\Hmg_Error_2.


Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1876
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 09.06.21 10:29. Заголовок: Выложил Update 2 для..


Выложил Update 2 для сборки 21.05 по адресу

http://hmgextended.com/files/CONTRIB/hmg-21.05-setup.exe

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3756
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.06.21 10:46. Заголовок: gfilatov2002 пишет С..


gfilatov2002 пишет
 цитата:
См. примеры в папках:


Спасибо
Примеры видел, но не вдохновили. Заменой prg (полученный new obj), показалось удобнее в использовании.
Предложил блок кода для более гибких вариантов, подменой на лету, если кому надо комбинировать html\txt\...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3760
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.06.21 12:05. Заголовок: gfilatov2002 Неболь..


gfilatov2002
Небольшая добавка
 
METHOD SetArrayTo( aArray, uFontHF, aHead, aSizes, uFooter, aPicture, aAlign, aName ) CLASS TSBrowse
...
FOR nI := 1 TO Len( ::aArray )
FOR nN := 1 TO nColumns
If HB_ISCHAR( ::aArray[ nI, nN ] ) .and. CRLF $ ::aArray[ nI, nN ]
cData := ""
AEval(hb_aTokens(::aArray[ nI, nN ], CRLF), {|x| x := trim(x), cData := If( Len(x) > Len(cData), x, cData )})
Else
cData := cValToChar( ::aArray[ nI, nN ] )
EndIf

IF Len( cData ) > Len( aDefMaxVal[ nN ] )
IF aDefType[ nN ] == "C"
aDefMaxVal[ nN ] := Trim( cData )
aDefMaxLen[ nN ] := Max( aDefMaxLen[ nN ], Len( aDefMaxVal[ nN ] ) )
ELSE
aDefMaxVal[ nN ] := cData
aDefMaxLen[ nN ] := Max( aDefMaxLen[ nN ], Len( cData ) )
ENDIF
ENDIF
NEXT
NEXT
...


Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1877
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 10.06.21 13:03. Заголовок: SergKis пишет: Небо..


SergKis пишет:

 цитата:
Небольшая добавка


Принято.
Благодарю за помощь

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3761
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.06.21 14:45. Заголовок: gfilatov2002 Надо е..


gfilatov2002
Надо еще поправить, т.к. aDefMaxLen[ nI ] помешает расчету
 
METHOD SetArrayTo( aArray, uFontHF, aHead, aSizes, uFooter, aPicture, aAlign, aName ) CLASS TSBrowse
... line 12950
FOR nI := 1 TO nColumns
cType := ValType( ::aArray[ 1, nI ] )
aDefType[ nI ] := cType

IF cType $ "CM"
::aDefValue[ nI ] := Space( Len( ::aArray[ 1, nI ] ) )
aDefMaxVal[ nI ] := Trim( ::aArray[ 1, nI ] )
aDefMaxLen[ nI ] := iif( CRLF $ aDefMaxVal[ nI ], 0, Len( aDefMaxVal[ nI ] ) )

aDefAlign[ nI ] := DT_LEFT
...


Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1878
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 10.06.21 15:10. Заголовок: SergKis пишет: Надо..


SergKis пишет:

 цитата:
Надо еще поправить


OK

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1879
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 14.06.21 10:21. Заголовок: Всем кому это интересно


Подготовил 3-й апдейт для сборки 25.05, который выйдет на этой неделе
Что нового:
Скрытый текст

Если у Вас есть полезные дополнения для библиотеки, то я с удовольствием их рассмотрю с целью включения в эту сборку...

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1699
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.06.21 21:03. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Если у Вас есть полезные дополнения для библиотеки, то я

Григорий, не знаю полезно ли? В одном из проектов делал замену errorsys на вывод лога не в html, а в json. Плюс встроенный вьювер ошибок по этому json. Достаточно компактно кажет всю информацию по ошибке. Потом идею бросил, но там так и работает. Если потребуется, могу в отдельный пример накидать. Так ради альтернативы, поскольку там по сути ничего нового, просто вывод в хтмл заменил на запись в json, и стандартные бровсы по массивам

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 224 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 81
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет