Форум » GUI » Новая версия Расширенного релиза библиотеки MiniGUI (часть IV) (продолжение) » Ответить

Новая версия Расширенного релиза библиотеки MiniGUI (часть IV) (продолжение)

gfilatov: Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №48, которая выйдет в конце недели. Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне Кратко, что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс HEADERIMAGE для Grid и Browse; - свойство Address в Hyperlink может теперь открывать папку или файл на диске; - добавлен NOTABSTOP класс для Browse; - поддержка пользовательских компонентов (заимствована из оффициального релиза); - расширения и исправления в библиотеках TsBrowse и PropGrid; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).

Ответов - 301, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 All

AM: Всё хорошо, но у меня по-прежнему не работает! Григорий (мы же были на ты!), ты уверен, что нужна win_N2P() ? Вроде как ты не прав, а дело в другом. Вот что у меня происходит: .... hFontCond=SetFontNameSize(hDC,'Arial Narrow',9,0,0,0,0) //шрифт сжатый .... SET EVENTS FUNCTION TO MYEVENTS //СВОЙ ОБРАБОТЧИК СООБЩЕНИЙ FUNCTION MyEvents ( hWnd, nMsg, wParam, lParam ) //обработка сообщений //пока только WM_PAINT CASE nMsg=WM_PAINT DC := BeginPaint( hWnd, @ps ) .... OnDrawMain(hWnd,DC) PROC OnDrawMain(hWnd,hDC) //перерисовка главного окна .... SelectObject(hDC,hFontCond) //возвращает nil //если так: SelectObject(hDC,win_N2P(hFontCond)) - то же самое DrawText(hDC,....) //шрифт не тот, что надо (похоже,тот,что по умолчанию) Как быть, что не так?!

gfilatov2002: AM пишет: Вроде как ты не прав, а дело в другом. Тогда посмотри, пожалуйста, каким д.б. первый параметр функции SetFontNameSize(): это д.б. хэндл контрола или окна, но никак ни hDC или 0, как у тебя Поэтому снова повторюсь: Желательно привести простой пример, демонстрирующий проблему.

gfilatov2002: Выложил текущую сборку компилятора Харбор 2.1.0rc1 для BCC 5.5.1 по адресу: http://minigui.mylivepage.ru/file/?fileid=8533 Harbour 2.1.0rc1 (Rev. 16086) Copyright (c) 1999-2011, http://harbour-project.org/ Harbour Build Info --------------------------- Version: Harbour 2.1.0rc1 (Rev. 16086) Compiler: Borland C++ 5.5.1 (32-bit) Platform: Windows 98 4.10.2222 A PCode version: 0.3 ChangeLog last entry: 2011-01-21 07:04 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) ChangeLog ID: ChangeLog 16086 2011-01-21 06:04:51Z druzus Built on: Jan 21 2011 10:48:07 Extra C compiler options: -DHB_GC_AUTO -DHB_GUI Build options: (Clipper 5.3b) (Clipper 5.x undoc) --------------------------- Обратите внимание, что Харбор уже в стадии Release Candidate


AM: gfilatov2002 пишет: Тогда посмотри, пожалуйста, каким д.б. первый параметр функции SetFontNameSize(): это д.б. хэндл контрола или окна, но никак ни hDC или 0, как у тебя Да, в самом деле - и в новой и в старой версии так. Но дело в том, что у меня почему-то переменная называлась hDC, но в ней был 0. Кто так научил - уже не помню, но со старой сборкой работало. А меня сейчас напрягают на новые фишки в программе, так что переход придётся отложить, вернуться к старому...

gfilatov2002: Новый релиз библиотеки выложил, как и обещал, по адресу: http://minigui.mylivepage.ru/file/?fileid=8535 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.9-92-setup.zip Желаю удачи!

Dr. Oldwarez: Спасибо большое! Там как раз то, чего мне не хватало

gustow: Ура! В новый год - с новым релизом! :) Спасибо, Григорий, будем посмотреть! :)

gfilatov2002: gustow пишет: Спасибо, Григорий, будем посмотреть! Спасибо за Ваше внимание Что-то редко можно Вас увидеть на форуме Все дела-дела

gustow: gfilatov2002 пишет: Что-то редко можно Вас увидеть на форуме Увы, в конторе моей подминздравской сейчас очередные "критические дни" - конец года, начало года, годовые отчеты больниц области, опять какие-то потуги на "реорганизации здравоохранения"... Т.ч. пока "не до грибов, Петька" ((с) Василий Иваныч) - разве что иногда вырываюсь почитать, что вы все там творите, да надеяться, что "и это пройдет" (как говорил некий Соломон). :))

gfilatov2002: Обновил полную сборку Minigui IDE (binary+source) на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=8539 а также, как обычно, на сервере http://hmgextended.com в папке HMGS-IDE. P.S. Наконец-то функция изменения порядка следования контролов на форме заработала и для RadioGroup (проверьте и отпишитесь, если не влом )

gfilatov2002: АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Завершается подготовка к опубликованию новой сборки №93, которая выйдет на следующей неделе. Кратко, что нового: - исправление обнаруженных ошибок и неточностей кода; - добавлен класс DOTTED для рисования подчеркивания в команду PRINT LINE библиотеки MiniPrint; - доработка в библиотеке Socket: при отправке писем формат даты в заголовке письма больше не зависит от установленного в Харбор формата даты; - небольшие изменения в библиотеке TsBrowse (работа Януша Пора); - обновлена сборка Харбора версии 2.1.0rc1, библиотека HbSQLite3 до версии 3.7.5 и Hmgs-Ide до версии 1.0.6; - добавлены новые и исправлены/обновлены некоторые старые примеры (как обычно ) Спасибо за внимание!

AM: А у меня вроде всё заработало. Всего-то надо было убрать из списка библиотеку hbwin.lib - зачем же я её туда включил? Причём исчезли и некоторые глюки, связанные с RichEditBox, которых не было в 69-й сборке, но были в 70-72.

gfilatov2002: AM пишет: А у меня вроде всё заработало. Мои поздравления Эти глюки еще раз доказывают, что надо объявлять о проблемах обновления только после испытаний на небольших примерах

gfilatov2002: Выложил текущую сборку компилятора Харбор 2.1.0rc1 для BCC 5.5.1 по адресу: http://minigui.mylivepage.ru/file/?fileid=8540 Harbour 2.1.0rc1 (Rev. 16300) Copyright (c) 1999-2011,http://harbour-project.org/ Harbour Build Info --------------------------- Version: Harbour 2.1.0rc1 (Rev. 16300) Compiler: Borland C++ 5.5.1 (32-bit) PCode version: 0.3 ChangeLog last entry: 2011-02-14 14:39 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) ChangeLog ID: ChangeLog 16300 2011-02-14 13:40:18Z vszakats Built on: Feb 14 2011 16:29:17 Extra C compiler options: -DHB_GC_AUTO -DHB_GUI Build options: (Clipper 5.3b) (Clipper 5.x undoc) (WINANSI) ---------------------------

gfilatov2002: Новый релиз библиотеки выложил, как и обещал, по адресу: http://minigui.mylivepage.ru/file/?fileid=8542 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.9-93-setup.zip

Haz: Здрасьте всем! 1 ОШИБКА: В исходном prg ( строка примерно 10750 ), в методе SetDbf() пропущена ссылка на алиас. Вот что есть в методе ==================CUT=================== For nEle := 1 To nTags AAdd( ::aTags, { OrdName( nEle ), OrdKey( nEle ) } ) Next ==================END=================== В данном случае OrdName( nEle ), OrdKey( nEle ) выполняются в текущей рабочей области и если пооткрывать сначала несколько областей, а потом рисовать по ним бровсы - получаем "Error DBCMD/2001 Файл не открыт: ORDNAME</p><BR>" Поправьте пожалуйста на это ==================CUT=================== For nEle := 1 To nTags AAdd( ::aTags, { ( cAlias )->(OrdName( nEle )), ( cAlias )->(OrdKey( nEle )) } ) Next ==================END=================== 2 ПОЖЕЛАНИЯ( или вопрос ) : В TsBrowse при редактировании полей в combo, datepicker и getbox шрифт отличен от установленного в :ChangeFont() для просмотра ячеек. Не найдя способа быстро назначить его же и в область редактирования , тупо в исходники добавил строку if hFont != nil ::hFont := hFont _SetFontHandle(::hWnd,hFont) // вот это добавил ( TCOMBOBOX.PRG, T_GETBOX.PRG, TDATEPICKER.PRG) endif это решило проблему со шрифтом, но ворос остался - есть ли способ установить единый шрифт на в бровсе на просмотр и редактирование ячеек ? Спасибо!

gfilatov2002: Большое спасибо! Оба ляпа в TsBrowse будут исправлены в следующей сборке согласно Вашим рекомендациям

Haz: Григорий , прежде всего спасибо за оперативность и Ваш большой труд в направлении (x)harbour и MiniGui. Теперь о просьбе, возможно ли в Tsbrowse в метод PostEdit() в строке 9028 вставить ( cAlias )->( DbSkip(0) )? Объясняю зачем : При редактировании записи в xBase, драйвер базы данных держит всю запись в буфере по тех пор пока не поменяется указатель записи. Это логично , если один пользователь начал редактировать поле - скорее всего он пройдется и по остальным. Но до тех пор пока этот пользователь не выполнит DbSkip() - она остается заблокированной! Как это происходит на практике при работе TsBrowse по одной базе в сети: - пользователь по enter влез в ячейку и изменил содержимое - по enter закончил редактирование и ушел курить бамбук ( он же все сделал правильно !!! ) С этого момента все остальные будут ловить грабли с блокировкой и никакие DbUnlock() не помогут. Если в вышеуказанной строке выполнить Dbskip(0), то по окончании редактирования буфер записи будет сбрасываться автоматически после завершения редактирования ячейки. Это избавит от необходимости помнить и прописывать везде ручками. Спасибо!

gfilatov2002: Haz пишет: Если в вышеуказанной строке выполнить Dbskip(0) Добавить не трудно, но у меня возник вопрос: а чем действие Dbskip(0) отличается от действия ( cAlias )->( DbGoTo( ( cAlias )->( RecNo() ) ) ) // refresh relations just in case that // a relation field changes которое выполняется немного ниже по тексту? Ведь обе функции вызываются перемещение указателя на одну и ту же запись. Или я не прав и они не эквиваленты?

Haz: Провел тест - да эти функции перемещают указатель, но 1) при использовании ( cAlias )->( DbGoTo( ( cAlias )->( RecNo() ) ) ) указатель остается на той же самой записи и сброс буфера записи не происходит. Далее имеем указанную выше ошибку ADSADT/1022 Требуется блокировка</p><BR> ( работаю с ADS, но это не принципиально, помню эту фишку еще со времен NTX ) 2) Если заменить ( cAlias )->( DbGoTo( ( cAlias )->( RecNo() ) ) ) на ( cAlias )->( DbSkip(0) ) - ошибка больше не возникает! Значит это не эквивалентные конструкции. Наверное DbGoto(x) сравнивает x с Recno() и если они равны - ничего не делает.



полная версия страницы