On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
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 [только новые]


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




Пост N: 4119
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.04.15 00:54. Заголовок: После кучи перестано..


После кучи перестановок и шаманства выяснил,
блин как фокусник - легким движением на клавиатуре убираем HANDCURSOR и всё начинается компилироваться...
Вспомнил, такая же беда второй раз происходит, и в другом модуле тоже пришлось убирать HANDCURSOR....

Вывод .ppo который компилируется:
_DefineOwnerButton ( "BUTTON_Ok",, 155, 245, "Ввод", { || nRet := 0, cUserName := cLogin, cPassword := cPswd, domethod("Form_LoginPass", "Release") }, 90, 32,,,,, .F., .F.,, .F., .F., .F.,,, nFBSize, .T., .F., .F., .F., .F., .F., .F., { 0 , 128 , 0 }, aButtColor, .T., .T., .F. )
_DefineOwnerButton ( "BUTTON_Cancel",, 255, 245, "Отмена", { || nRet := -1, domethod("Form_LoginPass", "Release") }, 90, 32,,,,, .F., .F.,, .F., .F., .F.,,, nFBSize, .T., .F., .F., .F., .F., .F., .F., { 128 , 0 , 0 }, aButtColor, .T., .T., .F. )

Вывод .ppo который НЕ компилируется:
@ 245,155 BUTTONEX BUTTON_Ok WIDTH 90 HEIGHT 32 CAPTION "Ввод" FONTCOLOR aButtColor BACKCOLOR { 0 , 128 , 0 } SIZE nFBSize BOLD NOHOTLIGHT NOXPSTYLE HANDCURSOR ACTION { || nRet := 0, cUserName := cLogin, cPassword := cPswd, DoMethod ( _HMG_SYSDATA[254] , "Release" ) }

@ 245,255 BUTTONEX BUTTON_Cancel WIDTH 90 HEIGHT 32 CAPTION "Отмена" FONTCOLOR aButtColor BACKCOLOR { 128 , 0 , 0 } SIZE nFBSize BOLD NOHOTLIGHT NOXPSTYLE HANDCURSOR ACTION { || nRet := -1, DoMethod ( _HMG_SYSDATA[254] , "Release" ) }


Ну что за приколы ?


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




Пост N: 602
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.15 09:00. Заголовок: Andrey пишет:убираем..


Andrey пишет:
 цитата:
убираем HANDCURSOR и всё начинается компилироваться...


_HMG_aControlInputMask [k] := handcursor // см. h_button.prg line 634
попробуй такой вариант:
@ 245,155 BUTTONEX BUTTON_Ok ... без HANDCURSOR добавь
nInd := GetControlIndex('BUTTON_Ok', ThisWindow.Name)
_HMG_aControlInputMask [ nIndex ] := .T.




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




Пост N: 4120
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.04.15 14:02. Заголовок: Работает !!! Спасибо..


Работает !!! Спасибо !!!
Только вот так: _HMG_aControlInputMask [ nInd ] := .T.


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




Пост N: 603
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.15 14:42. Заголовок: Andrey пишет:Вывод ...


Andrey пишет:
 цитата:
Вывод .ppo который НЕ компилируется:
@ 245,155 BUTTONEX BUTTON_Ok WIDTH 90 HEIGHT 32 CAPTION "Ввод" FONTCOLOR aButtColor BACKCOLOR { 0 , 128 , 0 } SIZE nFBSize BOLD NOHOTLIGHT NOXPSTYLE HANDCURSOR ACTION { || nRet := 0, cUserName := cLogin, cPassword := cPswd, DoMethod ( _HMG_SYSDATA[254] , "Release" ) }


MiniGui.chm
 
@ <nRow>,<nCol> BUTTONEX <ButtonName>
[ OF | PARENT <ParentWindowName> ]
[ CAPTION <cCaption>]
[ WIDTH <nWidth> HEIGHT <nHeight> ]
[ PICTURE <cBitmapName>] | [ ICON <cIconName>]
[ ACTION | ONCLICK | ON CLICK <ActionProcedureName> | <bBlock>
[ FONT <cFontName> ]
[ SIZE <nFontSize> ]
[ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ]
[ FONTCOLOR <aFontcolorRGBArray> ]
[ BACKCOLOR <aBackcolorRGBArray> ]
[ VERTICAL ]
[ LEFTTEXT ]
[ UPPERTEXT ]
[ ADJUST ]
[ TOOLTIP <cTooltip>]
[ NOHOTLIGHT ]
[ FLAT ]
[ NOTRANSPARENT ]
[ NOXPSTYLE ]
[ ON GOTFOCUS | ON MOUSEHOVER <OnGotfocusProcedure | bBlock> ]
[ ON LOSTFOCUS | ON MOUSELEAVE <OnLostProcedure | bBlock> ]
[ HANDCURSOR ]
[ NOTABSTOP ]
[ HELPID <nHelpId>]
[ INVISIBLE ]
[ DEFAULT

может тут собака порылась ?


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




Пост N: 4121
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.04.15 15:46. Заголовок: SergKis пишет: може..


SergKis пишет:

 цитата:
может тут собака порылась ?


Попробую.
Но больше всего убило, что маленький пример (6 файлов) нормально собирается,
а большой проект (58 файлов) - НЕТ !

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




Пост N: 4122
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.04.15 10:09. Заголовок: Сделал НОВОЕ меню вв..


Сделал НОВОЕ меню ввода пароля. И опять проблема...
После закрытия окна ввода пароля главная форма прячется на задний план всех программ, переключаешься на неё, а задача не откликается (кнопочки не реагируют, крестик закрытия не работает) т.е. висит задача, приходиться снимать через Диспетчер задач.
В чем проблема и как её решить ?


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




Пост N: 4123
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.04.15 17:59. Заголовок: Если первый раз непр..


Если первый раз неправильно введу пароль, то опять возвращаюсь в это окно ввода и тогда программа не вешается...

Что-то связано с инициализацией окна ?
Как можно вернуть фокус ввода на главное окно задачи ?
SetForegroundWindow( M->hIdWindows ) - так делал, но это не помогает....


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 541
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.04.15 19:00. Заголовок: Andrey пишет: Как м..


Andrey пишет:

 цитата:
Как можно вернуть фокус ввода на главное окно задачи




так

ShowWindow(hWnd, 3) //SW_MAXIMIZE=3 SW_NORMAL=1 SW_MINIMIZE=6
BringWindowToTop(hWnd)

Но думаю проблема не в фокусе. Скорее всего чего то намудрил при проверке пароля, и обработчик ошибки это не ловит


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




Пост N: 4124
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.04.15 19:46. Заголовок: Haz пишет: Скорее в..


Haz пишет:

 цитата:
Скорее всего чего то намудрил при проверке пароля,



До этого использовал окно пароля из \MiniGUI\SAMPLES\Advanced\GetPassword прекрасно всё работало.

Заменил GetPassword() на свою форму:
DEFINE WINDOW Form_LoginPass AT 0,0 WIDTH 370 HEIGHT 320 + IIF( IsXPThemeActive(), 10, 0 ) ;
TITLE cTitle ;
ICON cIco ;
MODAL ;
BACKCOLOR aBackColor ;
NOSIZE ;
ON INIT { || Form_LoginPass.Text_Login.SetFocus }

ну и там 2 GETBOX и 2 кнопки.

И перестало работать с первого раза - висит главное окно задачи !
Если первый раз неправильно ввести пароль, но происходит повторное обращение к окну - функция заново отрабатывает.
и ТОЛЬКО после этого главное окно задачи работает нормально !
Шайтан - однако...

После проверки пароля я даже пробовал переключать на картинку на форме, там висит функция обработки на ней...
CheckPassword() // проверка пароля
BringWindowToTop( M->hIdWindows )
Form_Main.Image_1.Setfocus

Безрезультатно... Висит главная форма и всё тут.... Полная



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




Пост N: 4125
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.04.15 20:46. Заголовок: Блин, ну что за неве..


Блин, ну что за невезуха... Полдня убил на это...
Поменял окно на CHILD и всё заработало....
Безо всяких переключений...



Спасибо: 0 
Профиль
Haz
администратор




Пост N: 542
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 21.04.15 10:46. Заголовок: Andrey пишет: Помен..


Andrey пишет:

 цитата:
Поменял окно на CHILD и всё заработало



У меня подобная вещь работает вне зависимости CHILD | MODAL ...
похоже ты нашел "заплатку" на проблему, может аукнуться позже

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




Пост N: 4126
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.04.15 12:29. Заголовок: Haz пишет: У меня п..


Haz пишет:

 цитата:
У меня подобная вещь работает вне зависимости CHILD | MODAL ...


Это как ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 543
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 21.04.15 12:46. Заголовок: Andrey пишет: Это к..


Andrey пишет:

 цитата:
Это как



Да все просто , при старте программы главная форма прячется и управление получает окно запроса пароля ( не важно CHILD или MODAL работает с любым вариантом ).
При вводе правильного пароля окно запроса закрывается и показывается главная форма. При неправильном пароле предлагается угадать еще разик, при отказе от ввода пароля программа завершается.
Ничего не виснет .

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




Пост N: 4127
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.04.15 14:01. Заголовок: Haz пишет: при стар..


Haz пишет:

 цитата:
при старте программы главная форма прячется и управление получает окно запроса пароля


Понял. Спасибо.

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




Пост N: 4130
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.04.15 13:23. Заголовок: Вот опять непонятка:..


Вот опять непонятка:
FOR nI := 1 TO 8

nRow := aRow[nI] + nHButt + 5
nCol := aCol[nI] + 10 //nWButt

@ nRow, nCol CHECKBOX &cObjLog ;
CAPTION 'Включить ХХХХ' ;
VALUE aLogic[nI] ;
WIDTH nWButt-20 HEIGHT 20 ;
FONTCOLOR RED ;
SIZE 11 TRANSPARENT ;
ON CHANGE { || MsgDebug(nI), aLogic[nI] := GetProperty("Form_PC", cObjLog, "Value" ) } // строка 230

NEXT

При редактировании выдаёт ошибку:
Error BASE/1133 Переполнение массива: доступ к массиву
Called from (b)MYPAGE_MAINMENU(230)

Значение nI == 9

Как исправить ?
Т.е. я понимаю что в цикле присваивать VALUE aLogic[nI] не получается ?


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 545
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 24.04.15 14:28. Заголовок: Andrey пишет: ON CH..


Andrey пишет:

 цитата:
ON CHANGE { || MsgDebug(nI), aLogic[nI] := GetProperty("Form_PC", cObjLog, "Value" ) }



было в твоих вопросах , с другим контролом правда ...но было.

Andrey пишет:

 цитата:
Как исправить


ON CHANGE &("{ || MsgDebug(" + ntoc(nI) +"), aLogic[" + ntoc(nI) + "] := GetProperty('Form_PC', cObjLog, 'Value' ) }" )

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




Пост N: 4131
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.04.15 14:56. Заголовок: Haz пишет: было в т..


Haz пишет:

 цитата:
было в твоих вопросах , с другим контролом правда ...но было.


Да, точно, было. Памяти точно уже нет.
Спасибо за подсказку !

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




Пост N: 4132
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.04.15 19:15. Заголовок: Haz пишет: ON CHANG..


Haz пишет:

 цитата:
ON CHANGE &("{ || MsgDebug(" + ntoc(nI) +"), aLogic[" + ntoc(nI) + "] := GetProperty('Form_PC', cObjLog, 'Value' ) }" )


Не отрабатывает вообще ON CHANGE !
Сделал так:
cObjLog := "Check_" + HB_NtoS(nI)
bBlock := "{ || MsgDebug(" + ntoc(nI) +"), aStatLogic[" + ntoc(nI) + "] := GetProperty('Form_PC', '" + cObjLog + "', 'Value' ) }"

@ nRow, nCol CHECKBOX &cObjLog ;
CAPTION 'Запуск внешней программы' ;
VALUE aStatLogic[nI] ;
WIDTH nWButt-20 HEIGHT 20 ;
FONTCOLOR RED ;
SIZE 11 TRANSPARENT ;
ON CHANGE &( bBlock )

Как еще можно сделать чтобы заработало ?

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




Пост N: 610
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.04.15 20:06. Заголовок: Andrey попробуй : F..


Andrey
попробуй :
FOR nI := 1 TO 8

nRow := aRow[nI] + nHButt + 5
nCol := aCol[nI] + 10 //nWButt

@ nRow, nCol CHECKBOX &cObjLog ;
CAPTION 'Включить ХХХХ' ;
VALUE aLogic[nI] ;
WIDTH nWButt-20 HEIGHT 20 ;
FONTCOLOR RED ;
SIZE 11 TRANSPARENT ;
ON CHANGE ( MsgDebug(_SetGetUserData(_HMG_THISCONTROLNAME, _HMG_THISFORMNAME), This.Value) ) // строка 230

_SetGetUserData(cObjLog, _HMG_THISFORMNAME, nI) // запомнило в Cargo

NEXT

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




Пост N: 611
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.04.15 20:26. Заголовок: Andrey а для запоми..


Andrey
а для запомининия в aLogic:
 
ON CHANGE {|nNr| nNr := _SetGetUserData(_HMG_THISCONTROLNAME, _HMG_THISFORMNAME), ;
aLogic[ nNr ] := This.Value, ;
MsgDebug(nNr, aLogic[ nNr]) }


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