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

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

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

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

Andrey: Alex_Cher пишет: начиная с версии 2.5.3 в файле MiniGUI.chm "WIN32-GUI Library For (x)Harbour" не работает функция поиска, конечно мелочь, но очень не удобно ... Да, да, не работает. А я думал что у меня только сбоит. Только поиск еще раньше не работал, в предыдущих версиях...

Andrey: Тестирую новую версию. Пример \SAMPLES\Advanced\VOLUME_INFO\DEMO2.exe - не работает: Система Win8.1 Проф. Права Админа.

Haz: Andrey пишет: не работает: Andrey пишет: Права Админа. Раз есть права админа , присвой метку тома для диска С . В примере проверяется именно она [pre2]If !Empty( aInfo[1] )[/pre2] ... [pre2]aInfo[1] := sz2Str( lpVolName ) [/pre2] и если метка не задана - выдается это окно. [pre2] IF(Empty(cInfo), MsgStop( "Error!" ), MsgInfo( cInfo )) [/pre2] но это не сообщение об ошибке программы PS что именно не работает ? PPS Для наглядности программы проверку условия лучше все же заменить на [pre2]If aInfo[1] <> NIL [/pre2] тогда и при пустой метке будет вывод корректной информации о диске


Dima: Haz пишет: Раз есть права админа , присвой метку тома для диска С Думаешь у него диск без метки ? :) "Территорию" нужно метить )) PS Новую не тестил версию , но в предыдущей все нормально (Win7)

Haz: Dima пишет: Думаешь у него диск без метки ? :) уверен , судя по коду программы территория не помечена

Andrey: Haz пишет: уверен , судя по коду программы территория не помечена Пример \SAMPLES\Advanced\VOLUME_INFO\DEMO.exe Что выдаёт пример \SAMPLES\Advanced\VOLUME_INFO\DEMO2.exe - написал выше. Что заметил, то и написал. Это было и в предыдущих версиях. Метки на диске нет - в проводнике пишется "Локальный диск (С:)"

Alex_Cher: cInfo += "Serial Number :" + TAB + I2Hex( nSerNum / 65535 ) + "-" + I2Hex( nSerNum ) .. я понимаю что это серийный номер HDD, почему на некоторых компах число nSerNum отрицательное ?

gfilatov2002: Andrey пишет: Метки на диске нет Простая замена If !Empty( aInfo[ 1 ] ) на If !Empty( aInfo[ 2 ] ) должна решить эту проблему

Haz: Andrey пишет: Что заметил, то и написал. Андрей , все правильно сделал но еще правильнее было бы указать причину и решение Раз уж нашел косячек и разобрался почему - кинь суда решение. Так и Григорию проще править будет и он больше времени потратит на новый функционал , а не на исправление старых примеров.

Andrey: Haz пишет: но еще правильнее было бы указать причину и решение Понял.

mshep: Haz пишет: Скачивай с этой ветки форума. работает сразу Пасибки.....

krutoff: Кто-нибудь работал с виртуальными окнами? У меня никак не работает VALID в GETBOX внутри такого окна. Может кто уже натыкался на эти грабли? Для примера воткнул в miniGui\Samples\BASIC\CONTAINERS\Panel\demo1.prg строку вместо TEXT_4: 1. Если вставлять через DEFINE то выдет ошибку: "Error MGERROR/0 Control: Of Win_2 Not defined. Program terminated." 2. Если вставить: @ 210,10 GETBOX TEXT_4 VALUE 7 VALID This.Value>5 VALIDMESSAGE 'Value > 5' - в этом случае любое значение проглатывает (пускал VALID через функцию - туда не попадает)

krutoff: Еще один момент: Григорий, я тут нарыл одну ошибку, которая мне мешает. В файле miniGui\SOURCE\h_controlmisc.prg есть функция FUNCTION _GetControlFree(), которая (как я понял) при создании контрола находит в массиве удаленных контролов свободный элемент. Если такой не находится - создается новый элемент и присваиваются все свойства. Но свойство _HMG_StopControlEventProcedure в старом( найденом) элементе(в отличие от нового) не переприсваивается. Например - если выполнить по какому-то контролу StopControlEventProcedure, закрыть форму, а потом ее снова создать, то нарываюсь на то что, все события по этому контролу уже отключены. Предлагаю в конце процедуры _GetControlFree() перед оператором ENDIF вставить: ELSE _HMG_StopControlEventProcedure[k] := .F.

gfilatov2002: krutoff пишет: если выполнить по какому-то контролу StopControlEventProcedure, закрыть форму, а потом ее снова создать, то нарываюсь на то что, все события по этому контролу уже отключены. Пример - в студию krutoff пишет: _HMG_StopControlEventProcedure[k] := .F. Это делается в функции _EraseControl() [pre2]#ifdef _HMG_COMPAT_ IF Type( '_HMG_SYSDATA[443][ i ]' ) != 'U' _HMG_StopControlEventProcedure [ i ] := .F. ENDIF #endif [/pre2]

krutoff: //Пример - в студию: После 2-го вызова Формы2 событие On Lostfocus в Text_1 не вызывается //(Еще момент: что при редактировании Титул Формы 2 становится неактивным и приходится 2 раза щелкать при закрытии в первом старте) #include "minigui.ch" Function Main DEFINE WINDOW Form_1 AT 0,0 WIDTH 200 HEIGHT 200 TITLE 'StopControlEventProcedure'; MAIN FONT 'Arial' SIZE 10 @ 70,50 BUTTON runBtn CAPTION 'Вызов Формы 2' ACTION DoForm2() END WINDOW ACTIVATE WINDOW Form_1 RETURN Nil *-------------------------------------------------------------------------- Function DoForm2() DEFINE WINDOW Form_2 AT 100,100 WIDTH 200 HEIGHT 200 TITLE 'Form 2' MODAL ; ON RELEASE StopControlEventProcedure("Text_1", "Split_1",.T.) DEFINE SPLITBOX DEFINE WINDOW Split_1 WIDTH 180 HEIGHT 180 ; VIRTUAL WIDTH 200 VIRTUAL HEIGHT 200 ; SPLITCHILD NOCAPTION @ 20,20 TEXTBOX Text_1 VALUE 'Text_1' ON LOSTFOCUS msgInfo('LOSTFOCUS Text_1') @120,20 TEXTBOX Text_2 VALUE 'Text_2' END WINDOW END SPLITBOX END WINDOW ACTIVATE WINDOW Form_2 Return Nil

gfilatov2002: krutoff пишет: После 2-го вызова Формы2 событие On Lostfocus в Text_1 не вызывается Да, все так... Поправлю, конечно krutoff пишет: при редактировании Титул Формы 2 становится неактивным Думаю, что это нормально, поскольку в этой форме содержится еще одно дочернее окно Split_1 в родительском окне Form_2

krutoff: gfilatov2002 пишет: Думаю, что это нормально, поскольку в этой форме содержится еще одно дочернее окно Split_1 в родительском окне Form_2 Спасибо, Григорий! Да, я тоже понимаю, что алгоритмически - это нормально, но визуально как бы находишься в активном окне...

alexandr11: здравствуйте у меня тоже вопрос по samples\basic\containers\panel (MiniGUI 2.4) пытался использовать typewindow panel с virtual height как в том примере но прокрутка (колесиком мыши) не работала путем проб установил - прокрутка начинает работать, если в это окно поместить button, иначе - не работает можно конечно поместить там button с нулевыми размерами, но все же... и второе - если нажать мышью на стрелку вверх, то выполняется прокрутка окна (panel), хотя ползунок уже находится в самой верхней позиции подскажите пожалуйста - как можно от этого избавиться? пример ниже #include "minigui.ch" ************************** Function Main DEFINE WINDOW SAST_1; AT 0,0 ; WIDTH 500; HEIGHT 500; TITLE "SAST_1"; WINDOWTYPE MAIN DEFINE WINDOW WIN_2; ROW 10; COL 10; WIDTH 200; HEIGHT 200; VIRTUAL WIDTH 5000; VIRTUAL HEIGHT 5000; WINDOWTYPE PANEL IF .F. DEFINE LABEL LABEL_1 ROW 10 COL 10 VALUE 'LABEL_1' WIDTH 100 HEIGHT 30 END LABEL ENDIF IF .F. DEFINE BUTTON BUTTON_1 ROW 50 COL 10 CAPTION 'BUTTON_1' WIDTH 100 HEIGHT 30 END BUTTON ENDIF END WINDOW END WINDOW CENTER WINDOW SAST_1 activate window SAST_1 Return Nil

gfilatov2002: alexandr11 пишет: если нажать мышью на стрелку вверх, то выполняется прокрутка окна (panel), хотя ползунок уже находится в самой верхней позиции Поправил эту бяку для вертикального и горизонтального сдвигов. Благодарю за наглядный пример как можно от этого избавиться? Ждите ноябрьскую сборку в конце месяца...

alexandr11: Поправил эту бяку спасибо, Григорий а что с первой бякой (не работает прокрутка)?



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