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




Пост 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 
ПрофильЦитата Ответить
Ответов - 90 , стр: 1 2 3 4 5 All [только новые]





Пост N: 2126
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.11.18 15:41. Заголовок: gfilatov2002 пишет Б..


gfilatov2002 пишет
 цитата:
Без проблем


Спасибо.

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



Пост N: 2137
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.11.18 12:48. Заголовок: gfilatov2002 Предло..


gfilatov2002
Предложение:
 
1.
CLASS TKeyData
...
_METHOD Destroy()

ERROR HANDLER ControlAssign

ENDCLASS
///////////////////////////////////////////////////////////////////////////////

METHOD ControlAssign( xValue ) CLASS TKeyData
LOCAL cMessage, uRet, lError

cMessage := __GetMessage()
lError := .T.

If PCOUNT() == 0
uRet := ::Get( cMessage )
lError := .F.
ElseIf PCOUNT() == 1
::Set( SubStr( cMessage, 2 ), xValue )
uRet := ::Get( cMessage )
lError := .F.
EndIf

If lError
uRet := Nil
::MsgNotFound( cMessage )
EndIf

RETURN uRet

тогда можно так (пример Advanced\Tsb_Basic\demo4.prg line 416)
oRec2 := (cAls)->( RecGet() )
nKey2 := oRec2:F0
oRec2:F0 := nKey1
oRec1:F0 := nKey2
...
вместо
oRec2 := (cAls)->( RecGet() )
nKey2 := oRec2:Get('F0')
oRec2:Set('F0', nKey1)
oRec1:Set('F0', nKey2)
...

2. предлагаю _LogFile(...) поправить, что бы команда ? не давала на вывод NIL Скрытый текст


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




Пост N: 1397
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 21.11.18 13:50. Заголовок: SergKis пишет: Пред..


SergKis пишет:

 цитата:
Предложение:


1-й пункт принят без вопросов, а со вторым - неясно, чем не угодил тип NIL

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



Пост N: 2138
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.11.18 13:59. Заголовок: gfilatov2002 пишет н..


gfilatov2002 пишет
 цитата:
неясно, чем не угодил тип NIL


"Старые" тексты с set alternate ... и исп. команд ? ... - все ок, но команды ? "портят" протокол\отчет.
Только это

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




Пост N: 1398
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 21.11.18 14:06. Заголовок: SergKis пишет: кома..


SergKis пишет:

 цитата:
команды ? "портят" протокол\отчет


Тогда надо заменить
?
на
? ""
например, с помощью препроцессора

P.S. Нет, препроцессор в этом случае не поможет
Поэтому 2-й пункт принят также.
Благодарю за помощь

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




Пост N: 1400
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 03.12.18 12:05. Заголовок: Завершена подготовка..


Завершена подготовка новой сборки 18.11, последней в этом году

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

 цитата:
* Fixed a problem with button's focus at a window activation when
this button was defined with the DEFAULT clause.

* A first TEXTBOX have got a control's content selection by default
when a focus is received at a window activation.
It is not required a calling of Setfocus method at form's 'On Init'
event anymore (look at the InputBox() and InputWindow() functions).

* Added an additional checking before a calling of the C-function
_SetFont() due to a program crash in some situations (introduced in
the build 16.12).

* The optimized ON SIZE event's behavior with using of the
auxiliary WinAPI events WM_ENTERSIZEMOVE and WM_EXITSIZEMOVE.

* A Label control supports a codeblock type for assigning to 'Value'
property, e.g.
@ ... LABEL ... VALUE { || ... }
Form.Label.Value := { || ... }

* Modified handling of the WM_NEXTDLGCTL message according to
WinAPI specification (synchronized with Official HMG).

* Added the Harbour client library for access to LetoDBf server
RDDLeto with the corresponding header files.

* Updated and improved the TSBrowse, HbXML and HMG_HPDF libraries.

* Updated Harbour Compiler 3.2.0dev to a recent Git-version.
(ChangeLog Last Entry: 2018-11-16 16:33)

* Added the new interesting samples:
- Calendar;
- Mandelbrot Fractal;
- My Player sample is based upon the VLC ActiveX Control;
- MiniGUI DataBase Utility (Inspired by EMAG Software DBU at https://www.emagsoftware.it)

and updated some Advanced samples.


Особая благодарность SergKis и Haz за их постоянную помощь в совершенствовании TsBrowse

Выпуск последующих сборок отложен на неопределенное время...

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




Пост N: 6138
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.12.18 15:17. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
* The optimized ON SIZE event's behavior with using of the
auxiliary WinAPI events WM_ENTERSIZEMOVE and WM_EXITSIZEMOVE.



А новые свойства окна будут ?
 
DEFINE WINDOW test ;
......
MAIN TOPMOST ;
ON MAXIMIZE ( zzzz() ) ;
ON SIZE ( zzzz() ) ;
ON SIZE_BEGIN ( хххх() ) ;
ON SIZE_END ( хххх() ) ;

Можно оставить по старому и новому варианту, программист сам будет решать, что использовать.

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




Пост N: 1401
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.12.18 11:42. Заголовок: Выпущена новая сборк..


Выпущена новая сборка 18.11 для BCC 5.5.1 и компиляторов Harbour и xHarbour.

Установщик дистрибутива находится по адресу

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

Также имеются следующие сборки для Си-компиляторов:

- MinGW 8.1.0 32-bit для Harbour 3.2.0dev; (есть в наличии)

- MinGW 8.1.0 64-bit для Harbour 3.4.0dev; (есть в наличии)

- MS VisualC 2017 32-bit для Harbour 3.2.0dev; (путь и имя архива не изменял)

- MS VisualC 2017 64-bit для Harbour 3.2.0dev; (путь и имя архива не изменял)

- Borland/Embarcadero C++ 7.3 (32-bit) для Harbour 3.4.0dev. (под заказ).

Благодарю за Ваше внимание

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



Пост N: 2147
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.12.18 13:09. Заголовок: gfilatov2002 Можно ..


gfilatov2002
Можно собрать вариант сборки, как раньше, на 7z

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




Пост N: 1402
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.12.18 14:12. Заголовок: SergKis пишет: вари..


SergKis пишет:

 цитата:
вариант сборки, как раньше, на 7z

Да, конечно.
Кинул прямую ссылку в Л.С.

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



Пост N: 2148
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.12.18 15:11. Заголовок: gfilatov2002 Спасиб..


gfilatov2002 Спасибо.

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



Пост N: 2149
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.12.18 10:35. Заголовок: gfilatov2002 Предла..


gfilatov2002
Предлагаю на on size сделать 2-а вызова процедуры, а не один, как сейчас.
Большой разницы нет, но немного удобней расчеты производить:
1-ый раз запоминаем старые значения (коэффициенты)
2-ой считаем новые
Изменения:
 
//**********************************************************************
CASE WM_ENTERSIZEMOVE
//**********************************************************************

IF ! _HMG_AutoAdjust
lEnterSizeMove := Nil // .T.
_HMG_MouseState := 1
ENDIF
// EXIT
//**********************************************************************
CASE WM_SIZE
//**********************************************************************

IF ( ISNIL(lEnterSizeMove) .OR. ! lEnterSizeMove ) .OR. ! iswinnt()
// IF ! lEnterSizeMove .OR. ! iswinnt()
IF ISNIL(lEnterSizeMove)
lEnterSizeMove := .T.
ENDIF

ControlCount := Len ( _HMG_aControlHandles )
...
//**********************************************************************
CASE WM_EXITSIZEMOVE
//**********************************************************************

lEnterSizeMove := .F.
IF ! _HMG_AutoAdjust
_HMG_MouseState := 0
SendMessage ( hWnd , WM_SIZE , 0 , 0 )
ENDIF
EXIT
...
тогда результат процедуры в on size выглядит
Start - Tsb_export987bcc.exe
Number of records in the table: 1005
Windows 8.1 6.3
Harbour MiniGUI Extended Edition 18.11 (32-bit)
.
RESIZETABLE VK_LBUTTON -127 _HMG_MouseState 1 // первый раз
RESIZETABLE VK_LBUTTON 1 _HMG_MouseState 0 // второй раз

RESIZETABLE VK_LBUTTON -128 _HMG_MouseState 1 // первый раз
RESIZETABLE VK_LBUTTON 0 _HMG_MouseState 0 // второй раз
...
Пример процедуры on resize
STATIC FUNCTION ResizeTable(oBrw)

? procname(), 'VK_LBUTTON', WAPI_GETKEYSTATE(VK_LBUTTON), '_HMG_MouseState', _HMG_MouseState

IF _HMG_MouseState > 0 // первый раз
ELSE // второй раз
ENDIF
...


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




Пост N: 1403
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 06.12.18 13:11. Заголовок: SergKis пишет: Пред..


SergKis пишет:

 цитата:
Предлагаю на on size сделать 2-а вызова процедуры


Принято с благодарностью
Два прохода для этого события решают также проблему перерисовки контролов, которая иногда возникает при быстром изменении размеров формы

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




Пост N: 6142
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.12.18 11:53. Заголовок: Поставил новую верси..


Поставил новую версию 18.11
Мой большой проект перестал собираться.
Выдаёт ошибку:
OBJ\use_LetoDb.c:
Turbo Incremental Link 5.66 Copyright (c) 1997-2002 Borland
Error: Unresolved external '_HB_FUN_LETO_SET' referenced from W:\HB_PROJECT\...\OBJ\USE_LETODB.OBJ

Откатил назад на версию 18.10 - проект собирается !!!

Использую Leto DB Server v.2.15b3 с 2015 года.
Отлично работает, переходить на новую версию нет надобности.

Я так понимаю функция LETO_SET берется из MiniGui\Harbour\include\RDDLETO.CH
Т.е. появилась поддержка LetoDb.
Можно ли починить МиниГуи версию 18.11 для правильной сборки ?
Т.е. как задать правило в MyPrj.hbp для подключения сначала
моих ch - W:\HB_Project\MyPrj\Include\rddleto.ch
и моей библиотеки W:\HB_Project\MyPrj\rddleto.lib

Хотя я в MyPrj.hbp прописал так
# включить путь к своим *.ch и  *.fmg   
-incpath=Include
-incpath=Source
Но первым берется всё равно MiniGui\Harbour\include\RDDLETO.CH

Можно конечно поступить проще, тупо удалить файлы из поставки минигуи
RDDLETO.CH и RDDLETO.LIB, но хочется разобраться как делать правильно.

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



Пост N: 2150
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.12.18 13:41. Заголовок: Andrey пишет Можно л..


Andrey пишет
 цитата:
Можно ли починить МиниГуи версию 18.11 для правильной сборки ?


1 попробуй у себя ставить
#define CaseSensitive // отключить #define set(...) LETO_SET(...)
возможно пройдет проект на новой версии RddLeto 3.0
2. замени в MiniGui\Harbour\Lib\RDDLETO.LIB из версии Leto 2.0
3. замени в MiniGui\Harbour\Include\RDDLETO.CH из версии Leto 2.0

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



Пост N: 2151
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.12.18 13:45. Заголовок: PS по первому пункту..


PS
по первому пункту, можно закрыть строки в RDDLETO.CH v.m.3.0
 
...
/* redirect for 4 options handled in LETO_SET(), others forward to SET() */
#ifdef CASESENSITIVE
// #define set( _HB_SETTING, XSET ) LETO_SET( _HB_SETTING, XSET )
// #define Set( _HB_SETTING, XSET ) LETO_SET( _HB_SETTING, XSET )
#endif
//#define SET( _HB_SETTING, XSET ) LETO_SET( _HB_SETTING, XSET )


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




Пост N: 6143
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.12.18 16:02. Заголовок: SergKis пишет: по п..


SergKis пишет:

 цитата:
по первому пункту, можно закрыть строки в RDDLETO.CH v.m.3.0


А как сделать, чтобы в prg брался ВСЕГДА мой ch - W:\HB_Project\MyPrj\Include\rddleto.ch ?

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



Пост N: 2152
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.12.18 16:05. Заголовок: Andrey Посмотри и в..


Andrey
Посмотри и выполни пункты 2 и 3
Будет все твое

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


Пост N: 1488
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 07.12.18 16:07. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как сделать, чтобы в prg брался ВСЕГДА мой ch - W:\HB_Project\MyPrj\Include\rddleto.ch ?


#include "W:\HB_Project\MyPrj\Include\rddleto.ch"

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



Пост N: 2153
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.12.18 16:09. Заголовок: PS Если хочешь разде..


PS
Если хочешь разделить версии leto, переименуй свои
rddleto.ch -> rddleto2.ch
rddleto.lib -> rddleto2.lib
и подключай их

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

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