Автор | Сообщение |
Andrey
|
| постоянный участник
|
Пост N: 1929
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.11.11 21:36. Заголовок: Примеры из Минигуи -ошибки, вопросы..... (продолжение)
Всем привет. Взялся смотреть примеры из МиниГуи, так не все работают. Может кто подскажет что там "допилить" нужно ? А заодно может и исправить и добавить новые.... Очень красочный пример: \MiniGUI\SAMPLES\Advanced\AVI_Animation - не работает под Win7 (наверно AVI-шки нет в ресурсах) Предложение Григорию: Можно ли добавить еще один пример с отдельным AVI-файлом в ресурсах проекта и показом такого же бегунка ? Пример: \MiniGUI\SAMPLES\Advanced\DisplayMode - не работает под ХР и далее.... Пример: \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.
|
|
|
Ответов - 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" ) } Ну что за приколы ?
|
|
|
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.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4120
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.04.15 14:02. Заголовок: Работает !!! Спасибо..
Работает !!! Спасибо !!! Только вот так: _HMG_aControlInputMask [ nInd ] := .T.
|
|
|
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 может тут собака порылась ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4121
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.04.15 15:46. Заголовок: SergKis пишет: може..
SergKis пишет: цитата: | может тут собака порылась ? |
| Попробую. Но больше всего убило, что маленький пример (6 файлов) нормально собирается, а большой проект (58 файлов) - НЕТ !
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4122
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.04.15 10:09. Заголовок: Сделал НОВОЕ меню вв..
Сделал НОВОЕ меню ввода пароля. И опять проблема... После закрытия окна ввода пароля главная форма прячется на задний план всех программ, переключаешься на неё, а задача не откликается (кнопочки не реагируют, крестик закрытия не работает) т.е. висит задача, приходиться снимать через Диспетчер задач. В чем проблема и как её решить ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4123
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.04.15 17:59. Заголовок: Если первый раз непр..
Если первый раз неправильно введу пароль, то опять возвращаюсь в это окно ввода и тогда программа не вешается... Что-то связано с инициализацией окна ? Как можно вернуть фокус ввода на главное окно задачи ? SetForegroundWindow( M->hIdWindows ) - так делал, но это не помогает....
|
|
|
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) Но думаю проблема не в фокусе. Скорее всего чего то намудрил при проверке пароля, и обработчик ошибки это не ловит
|
|
|
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 Безрезультатно... Висит главная форма и всё тут.... Полная
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4125
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.04.15 20:46. Заголовок: Блин, ну что за неве..
Блин, ну что за невезуха... Полдня убил на это... Поменял окно на CHILD и всё заработало.... Безо всяких переключений...
|
|
|
Haz
|
| |
Пост N: 542
Зарегистрирован: 20.02.11
|
|
Отправлено: 21.04.15 10:46. Заголовок: Andrey пишет: Помен..
Andrey пишет: цитата: | Поменял окно на CHILD и всё заработало |
| У меня подобная вещь работает вне зависимости CHILD | MODAL ... похоже ты нашел "заплатку" на проблему, может аукнуться позже
|
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4126
Зарегистрирован: 12.09.06
|
|
Отправлено: 21.04.15 12:29. Заголовок: Haz пишет: У меня п..
Haz пишет: цитата: | У меня подобная вещь работает вне зависимости CHILD | MODAL ... |
| Это как ?
|
|
|
Haz
|
| |
Пост N: 543
Зарегистрирован: 20.02.11
|
|
Отправлено: 21.04.15 12:46. Заголовок: Andrey пишет: Это к..
Andrey пишет: Да все просто , при старте программы главная форма прячется и управление получает окно запроса пароля ( не важно CHILD или MODAL работает с любым вариантом ). При вводе правильного пароля окно запроса закрывается и показывается главная форма. При неправильном пароле предлагается угадать еще разик, при отказе от ввода пароля программа завершается. Ничего не виснет .
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4127
Зарегистрирован: 12.09.06
|
|
Отправлено: 21.04.15 14:01. Заголовок: Haz пишет: при стар..
Haz пишет: цитата: | при старте программы главная форма прячется и управление получает окно запроса пароля |
| Понял. Спасибо.
|
|
|
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] не получается ?
|
|
|
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' ) }" )
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4131
Зарегистрирован: 12.09.06
|
|
Отправлено: 24.04.15 14:56. Заголовок: Haz пишет: было в т..
Haz пишет: цитата: | было в твоих вопросах , с другим контролом правда ...но было. |
| Да, точно, было. Памяти точно уже нет. Спасибо за подсказку !
|
|
|
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 ) Как еще можно сделать чтобы заработало ?
|
|
|
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
|
|
|
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]) }
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|