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




Пост 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 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


SergKis
постоянный участник




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


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


Спасибо.

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




Пост 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 
Профиль
gfilatov2002
moderator




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


SergKis пишет:

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


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

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




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


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


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

Спасибо: 0 
Профиль
gfilatov2002
moderator




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


SergKis пишет:

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


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

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

Спасибо: 0 
Профиль
gfilatov2002
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 
Профиль
Andrey
постоянный участник




Пост 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 
Профиль
gfilatov2002
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 
Профиль
SergKis
постоянный участник




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


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

Спасибо: 0 
Профиль
gfilatov2002
moderator




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


SergKis пишет:

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

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

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




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


gfilatov2002 Спасибо.

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




Пост 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 
Профиль
gfilatov2002
moderator




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


SergKis пишет:

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


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

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




Пост 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 
Профиль
SergKis
постоянный участник




Пост 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 
Профиль
SergKis
постоянный участник




Пост 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 
Профиль
Andrey
постоянный участник




Пост 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 
Профиль
SergKis
постоянный участник




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


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

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


Пост 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 
Профиль
SergKis
постоянный участник




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


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

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 210
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет