On-line: i3t4j6, PSP, гостей 0. Всего: 2 [подробнее..]
АвторСообщение
Andrey
постоянный участник




Пост N: 1929
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.11.11 21:36. Заголовок: Примеры из Минигуи -ошибки, вопросы..... (продолжение)


Всем привет.
Взялся смотреть примеры из МиниГуи, так не все работают. Может кто подскажет что там "допилить" нужно ?
А заодно может и исправить и добавить новые....

Очень красочный пример: \MiniGUI\SAMPLES\Advanced\AVI_Animation - не работает под Win7 (наверно AVI-шки нет в ресурсах)
Предложение Григорию:
Можно ли добавить еще один пример с отдельным AVI-файлом в ресурсах проекта и показом такого же бегунка ?

Пример: \MiniGUI\SAMPLES\Advanced\Tsb_filter - вылетает на ХР
--------------------------------------------------------------------------------
Harbour MiniGUI Errorlog File
Harbour MiniGUI Extended Edition 2.0.1 - 2011.09.21
--------------------------------------------------------------------------------
Date: 11/15/2011 Time: 22:13:24
Error BASE/1124 Argument error: LEFT

Called from LEFT(0)
Called from SCANSOFT(195)
Called from MAIN(84)


Пример: \MiniGUI\SAMPLES\BASIC\MsgEdit - не собирается...
Z:\MiniGUI\SAMPLES\BASIC\MsgEdit>call ..\..\..\batch\compile.bat demo /L shell32
Harbour 3.1.0dev (Rev. 17042)
Copyright (c) 1999-2011, http://harbour-project.org/
Compiling 'demo.prg'...
Lines 20133, Functions/Procedures 30
Generating C source output to 'demo.c'... Done.
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
demo.c:
Error E2141 demo.prg 993: Declaration syntax error
*** 1 errors in Compile ***

C compile error.



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


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


Пост N: 822
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 11.04.19 19:31. Заголовок: Мы не ищем легкий пу..


Мы не ищем легкий путей!
Стоит

 цитата:

CHECKBOX Check_1 CAPTION 'Сменить иконку' ;


задача которого сменить Иконку !!!
А может поставить COMBOBOX и им определить направление копирования ?

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




Пост N: 2339
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.04.19 20:15. Заголовок: Vlad04 пишет А может..


Vlad04 пишет
 цитата:
А может поставить COMBOBOX и им определить направление копирования ?


Это всего лишь пример https://TransFiles.ru/f1eyd

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




Пост N: 6245
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.04.19 23:19. Заголовок: Опять непонятка... Б..


Опять непонятка...
Беру пример C:\MiniGUI\SAMPLES\BASIC\COLORED_TAB\demo.prg

Добавляю вверху исходника строку:
 
#define EMAIL2 'gfilatov@inbox.ru'

Далее добавляю объект:
		PAGE 'Page &5' IMAGE 'Check' TOOLTIP 'TabPage 5' 

@ 24, 2 LABEL Page_5 VALUE "" WIDTH 0 HEIGHT 0 BACKCOLOR aTabColors[ 5 ]

@ 70, 55 HYPERLINK Label_Link ;
VALUE "<" + EMAIL2 + ">" ;
ADDRESS EMAIL2 + "?cc=&bcc=" + ;
"&subject=Programm%20testing%20%20MiniGui%20!" ;
WIDTH 300 HEIGHT 30 ;
BACKCOLOR aTabColors[ 5 ] ;
TOOLTIP "Отправить письмо MiniGui" ;
HANDCURSOR

END PAGE

END TAB

Прога перестаёт работать, падает с ошибкой:
Error BASE/1081 Argument error: +
Called from GETCONTROLINDEX(1005) in module: h_controlmisc.prg
Called from _SETADDRESS(55) in module: h_hyperlink.prg
Called from SETTAB_1(135) in module: demo.prg
Called from MAIN(46) in module: demo.prg


В другом месте этот HYPERLINK работает. А совместно с цветным TAB - нет. Почему ?

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




Пост N: 1488
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.04.19 10:21. Заголовок: Andrey пишет: ..


Andrey пишет:

 цитата:
@ 70, 55 HYPERLINK Label_Link ;
VALUE "<" + EMAIL2 + ">" ;
ADDRESS EMAIL2 + "?cc=&bcc=" + ;
"&subject=Programm%20testing%20%20MiniGui%20!" ;
WIDTH 300 HEIGHT 30 ;
BACKCOLOR aTabColors[ 5 ] ;
TOOLTIP "Отправить письмо MiniGui" ;
HANDCURSOR


Добавь указание родительского окна в определение этого HYPERLINK

 цитата:
@ 70, 55 HYPERLINK Label_Link OF Form_1 ;




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




Пост N: 6246
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.04.19 14:22. Заголовок: СПАСИБО Григорий ! ..


СПАСИБО Григорий !

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




Пост N: 6254
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.04.19 21:46. Заголовок: Хорошие функции для ..


Хорошие функции для получения картинок типа файлов:
         hIcon := ICON_EXEREAD( cFile )  
hBmp := BmpFromIcon( hIcon ) // a return handle bmp

Только вот возвращают картинки 32х32.
А можно сделать, чтобы возвращались картики 64х64 ?

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




Пост N: 6258
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.04.19 14:29. Заголовок: Есть большой лог оши..


Есть большой лог ошибок ErrorLog.htm
Просматривать вручную его ОЧЕНЬ ДОЛГО...
Как бы сделать с него выборку:
Date: 10.04.19 Time: 21:25:30
Error MGERROR/0 Control: PrgBar_1 Of Form_Index Not defined. Program terminated.
Called from - выборку ошибок 5 или 7 уровней.

Может сделать бы стандартный компонент в МиниГуи для этого ?
В виде дерева будет наверное очень удобно !

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




Пост N: 2374
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.04.19 15:47. Заголовок: Andrey Может достат..


Andrey
Может достаточно будет в программе переименовывать (раз в несколько дней\недель\...)
Но сделать можешь "компонент" на весь файл, думаю возражений не будет

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




Пост N: 6259
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.04.19 20:26. Заголовок: Всем привет ! Что-то..


Всем привет !
Что-то столкнулся с потерей фокуса на модальном окне.
На главной таблице вызываю окно печати (MODAL), в этом окне своя таблица,
в ней делаются вызов другой функции так:
         SetProperty(oBrwP:cParentWnd, oBrwP:cControlName, "Enabled", .F.) //блокируем меню 
cRet := &cRun(....) // вызов внешних функций
SetProperty(oBrwP:cParentWnd, oBrwP:cControlName, "Enabled", .T.) //разлокируем меню

Вызываю функцию, в ней вызываю MODAL-окно, там выбираю и закрываю это окно,
далее вызываю ещё MODAL-окно c таблицей, потом его закрываю.
В результате теряю фокус на окно печати (MODAL), оно оказывается под главной таблицей.
И теперь можно ходить по главной таблице, хотя окно печати (MODAL) !
И прога начинает вылетать в других местах.
Юзер в ауте, я тоже.
Как исправить эту ситуацию ?
Сергей, ты писал что так блокировать таблицу не правильно, я этот вопрос оставил на потом.
И вот этот вопрос вылез у меня.

P.S. Если один раз вызывать MODAL-окно, то всё работает отлично,
если 2 раза, то теряется фокус и начинается фигня.

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




Пост N: 2389
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.04.19 21:01. Заголовок: Andrey пишет ты писа..


Andrey пишет
 цитата:
ты писал что так блокировать таблицу не правильно, я этот вопрос оставил на потом


Неправильно, т.к. tsbrowse (это объект) имеет собственную блокировку
oBrw:lEnabled := .T.\.F.
oBrw:Enabled( lEnable ) - с закраской тсб

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




Пост N: 6264
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.04.19 16:52. Заголовок: Разобрался наконец т..


Разобрался наконец то со своей (или не моей) ошибкой ...
Так портачит, что даже окно в коде принудительно не закрывается, например так Form_F5.Release

Может неправильный код с потоками, я не знаю.
Вот такая конструкция ломает в дальнейшем код:
 
// если было вызвано последнее окно MODAL, то вернёт .T.
MsgDebug( "_HMG_IsModalActive=", _HMG_IsModalActive ) -->> .T.

TestModalWindows()

// если было вызвано последнее окно MODAL, то вернёт .T.
MsgDebug( "_HMG_IsModalActive=", _HMG_IsModalActive ) -->> .F.
.....

FUNCTION TestModalWindows()
....
WaitThreadCreate( "загрузка отчёта" )
.....
DEFINE WINDOW Form_Modal ;
.....
MODAL ;
.....
ON INIT {|| WaitThreadClose(), DoMethod('Form_Modal', 'Butt_Exit', 'Setfocus') }

Пример функции WaitThreadCreate() в папке C:\MiniGUI\SAMPLES\BASIC\WAIT_WINDOW_2\demo2.prg
Где и что править в demo2.prg я не знаю ?

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




Пост N: 6277
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.04.19 18:39. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Да, есть. Это WinAPI функция GetPixel().
Рабочий пример ее использования см. в папке samples\Advanced\FillTriangle


Переделал эту функцию вот так:
 
Function RowColColorRGB(nRow,nCol)
LOCAL hdc, cMsg, aColor := {0,0,0}
LOCAL hWin := ThisWindow.Handle

hdc := GetDC( hWin )
//x := _HMG_MouseCol
//y := _HMG_MouseRow
IF GetPixelColor( hdc, nCol, nRow, @aColor )
cMsg := "RGB (" ;
+ " r:" + str(aColor[1], 3 ) ;
+ " g:" + str(aColor[2], 3 ) ;
+ " b:" + str(aColor[3], 3 ) ;
+ " )"
//MsgDebug( cMsg )
ENDIF
ReleaseDC( hWin, hdc )

Return aColor

Всегда чёрный цвет возвращает. Что то я не так переделал...
Как правильно сделать

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




Пост N: 6299
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.05.19 00:20. Заголовок: Всем привет ! Очеред..


Всем привет !
Очередная непонятка с работой на различных платформах.
Сделал универсальное затенение окна (пример отправлен Григорию в библиотеку для всех)
Работает отлично на Win ХР/8.1/10/Server 2012, а на Server 2008 не захватывает верх окна.
Вот так выглядит на экране Windows Server 2008 R2 Standart:


С чем это связано ?

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




Пост N: 6309
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.06.19 17:19. Заголовок: В разных меню исполь..


В разных меню испольую по разному стиль меню и высоту иконок, типа:
      SET MENUSTYLE EXTENDED 
SetMenuBitmapHeight( 48 )

Есть ли функции установки - какой стиль стоит и какой размер иконок ?

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




Пост N: 2593
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.06.19 17:42. Заголовок: Andrey i_menu.ch #xc..


Andrey
i_menu.ch
 
#xcommand SET MENUSTYLE EXTENDED ;
=> ;
_NewMenuStyle ( .T. )

#xcommand SET MENUSTYLE STANDARD ;
=> ;
_NewMenuStyle ( .F. )

#translate IsExtendedMenuStyleActive () ;
=> ;
_NewMenuStyle ()
...
c_menu.c
HB_FUNC( SETMENUBITMAPHEIGHT )
{
bm_size = hb_parni( 1 );
min_height = min_width = bm_size + 4;
hb_retni( bm_size );
}

HB_FUNC( GETMENUBITMAPHEIGHT )
{
hb_retni( bm_size );
}
...


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




Пост N: 6311
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.06.19 18:47. Заголовок: SergKis пишет: i_me..


SergKis пишет:

 цитата:
i_menu.ch


Спасибо БОЛЬШОЕ !

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




Пост N: 6312
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.06.19 18:56. Заголовок: А можно как то сокра..


А можно как то сократить текст программы ?
 // если было вызвано последнее окно MODAL, то вернёт .T. 
lModal := _HMG_IsModalActive

If lModal

DEFINE WINDOW &cFrmName ;
.....
MODAL ;
....
Else

DEFINE WINDOW &cFrmName ;
.....
WINDOWTYPE STANDARD ;
....
Endif


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




Пост N: 2594
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.06.19 10:56. Заголовок: Andrey пишет А можно..


Andrey пишет
 цитата:
А можно как то сократить текст программы ?


Поднял свои опыты на эту тему, покрути, если хочешь Скрытый текст


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




Пост N: 6313
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.06.19 20:11. Заголовок: SergKis пишет: Подн..


SergKis пишет:

 цитата:
Поднял свои опыты на эту тему, покрути, если хочешь


Не совсем то ...
Хотелось бы типа такого:
    WINDOWTYPE IIF( lModal == .T., MODAL , STANDARD ) ; 

Или возможности опледелить ТИП окна отдельной командой.
Ну да ладно, если нет такого, будем писать как все.

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




Пост N: 2598
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.06.19 20:55. Заголовок: Andrey пишет Или воз..


Andrey пишет
 цитата:
Или возможности опледелить ТИП окна отдельной командой.


А смысл в переменной ?
В данном случае, при запуске из под модал, окно будет всегда модал, что бы ты не писал в WINDOWTYPE.
Т.е. пиши STANDART или CHILD всегда, к примеру (в функции), но вызов этой же функции из под модал ->
будет тип окна modal, т.к. modal := modal .or. ! Empty( _HMG_IsModalActive ).
Если надо усложнить добавь в #xcommand переменную WTYPE <nTyp> и в ф-ю параметр nTyp и обрабатывай как надо
 
#xcommand DEF WINDOW <w> ;
...
[ WTYP <nTyp> ] ;
...
=> ;
DECLARE WINDOW <w> ;;
_DefWindow ( <"w">, ... , <clientheight>, <.modal.>, <.flashexit.>, <nTyp> )
...
FUNCTION _DefWindow ( FormName, Caption, x, y, w, h, nominimize, nomaximize, ;
...
clientwidth, clientheight, modal, flashexit, nTyp )
...
If HB_ISNUMERIC( nTyp )
// ставь лог. переменные как надо
EndIf

If modal
...
или еще как душе будет угодно.


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