Форум » GUI » Примеры из Минигуи -ошибки, вопросы..... (продолжение) » Ответить

Примеры из Минигуи -ошибки, вопросы..... (продолжение)

Andrey: Всем привет. Взялся смотреть примеры из МиниГуи, так не все работают. Может кто подскажет что там "допилить" нужно ? А заодно может и исправить и добавить новые.... Очень красочный пример: \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.

Ответов - 230, стр: 1 2 3 4 5 6 7 8 9 10 11 12 All

Haz: Andrey пишет: Это простой слишком пример А что там может быть сложно? json строка это строковое соответствие хэш массива. Функции хеш в json и обратно есть в базе. Смысл примера непонятен.

Andrey: У меня 4 окна с таблицами WINDOWTYPE STANDARD которые можно открыть поочерёдно на экране. С каждой таблицы можно открыть ТОЛЬКО одну карточку - окно MODAL, это чтобы юзер не запутался ещё и в карточках. Можно ли заблокировать переключение на другие окна из MODAL окна. Т.е. если юзер открыл окно, то пока не закроет его, то пусть в нём и СИДИТ !!! А то если открыты другие таблицы, юзер пытается туда переключаться без закрытия окна предыдущей карточки. И переключается текущий алиас базы. Можно эти переключения на другие таблицы, как то блокировать ? Или заменять после переключения на таблицу от которой открыта карточка ? Предупреждение можно вывести в этот момент, типа закройте карточку, а потом переключайтесь на другую таблицу ?

Andrey: Нашёл пример SAMPLES\Advanced\AESDEMO - MiniGUI-23.09 Не собирается... Выдаёт ошибку: [pre2]Harbour 3.2.0dev (r2307062207) Copyright (c) 1999-2023, https://harbour.github.io/ D:\TEMP\hbmk_9mjo9p.dir\aesdemo.c: D:\TEMP\hbmk_iqc6dr.c: Turbo Incremental Link 5.69 Copyright (c) 1997-2005 Borland Error: Unresolved external '_HB_FUN_ENCRYPTFILEAES' referenced from D:\TEMP\HBMK_9MJO9P.DIR\AESDEMO.OBJ Error: Unresolved external '_HB_FUN_DECRYPTFILEAES' referenced from D:\TEMP\HBMK_9MJO9P.DIR\AESDEMO.OBJ hbmk2[aesdemo]: Error: Running linker. 2[/pre2] Что нужно добавить ? Есть ли ещё в МиниГуи функции шифрования/дешифрования файлов и строк ?


Dima: MiniGUI-23.09 MiniGUI-23.07 Собирается норм

Andrey: Собирал так: c:\MiniGui-23.09\batch\hbmk2.bat aesdemo.hbp из за этого и выдавало ошибку. Добавил в aesdemo.hbp строку -lhbaes и всё собралось ! Спасибо Dima

Dima: LOL

Andrey: Ну и что из этого ? Забыл что раньше делал, памяти после ковида нет совсем... Не доделал тогда тот пример у себя, заново сейчас до него руки дошли.

SergKis: Пример TrayBalloon с SET OOP ON тут https://TransFiles.ru/2b4pa Если кому интересно это

Andrey: Пытался из этого примера перенести в другой модуль, где весь С-код util_c_code.prg: [pre2]/* * C-level */ #pragma BEGINDUMP[/pre2] Не получается. Потом не собирается util_c_code.prg, выдаёт ошибку:[pre2] Harbour 3.2.0dev (r2307062207) Copyright (c) 1999-2023, https://harbour.github.io/ OBJ\util_c_code.c: Warning W8017 util_c_code.prg 94: Redefinition of '_WIN32_IE' is not identical Warning W8017 util_c_code.prg 95: Redefinition of '_WIN32_WINNT' is not identical Error E2451 util_c_code.prg 110: Undefined symbol 'NOTIFYICONDATA' in function ShowNotifyInfo Error E2379 util_c_code.prg 110: Statement missing ; in function ShowNotifyInfo Error E2451 util_c_code.prg 112: Undefined symbol 'nid' in function ShowNotifyInfo Error E2109 util_c_code.prg 112: Not an allowed type in function ShowNotifyInfo Error E2109 util_c_code.prg 114: Not an allowed type in function ShowNotifyInfo Error E2451 util_c_code.prg 118: Undefined symbol 'NIF_INFO' in function ShowNotifyInfo Error E2451 util_c_code.prg 126: Undefined symbol 'NIM_ADD' in function ShowNotifyInfo Warning W8065 util_c_code.prg 126: Call to function 'Shell_NotifyIcon' with no prototype in function ShowNotifyInfo Error E2451 util_c_code.prg 128: Undefined symbol 'NIM_DELETE' in function ShowNotifyInfo Warning W8065 util_c_code.prg 128: Call to function 'Shell_NotifyIcon' with no prototype in function ShowNotifyInfo Warning W8057 util_c_code.prg 132: Parameter 'hWnd' is never used in function ShowNotifyInfo *** 8 errors in Compile *** hbmk2[Demo]: Error: Running C/C++ compiler. 1[/pre2] Как можно это решить (перенести в отдельный модуль) ?

Alex_Cher: Пример TrayBalloon с SET OOP ON тут https://TransFiles.ru/2b4pa Если кому интересно это Сережа, файлика нет, обнови пожалуйста .....

SergKis: Не могу. Без компьютера. Только на телефоне. Может кто-нибудь выложит.

Andrey: Вот этот пример - https://cloud.mail.ru/public/KMmF/LqQp2UDHW

SergKis: Alex_Cher Собрал немного модифицированный пример, с иконками, тут https://TransFiles.ru/6wfob

Andrey: SergKis пишет: Собрал немного модифицированный пример, с иконками, тут Тестировал пример, работает и на Win7 ! В примере надо бы исправить IF IsWinNT() на Win7 и выше...

Andrey: Григорий, что мне делать ? Собираю свою большую прогу MiniGui 23.09.2 Перетасовал свой main.prg Теперь после запуска прога падает с ошибкой: [pre2]Error BASE/1004 Message not found: TWNDDATA:EVENT Args: [1] = O TWNDDATA Called from __ERRRT_SBASE(0) Called from TWNDDATA:ERROR(0) Called from (b)HBOBJECT(0) Called from TWNDDATA:MSGNOTFOUND(0) Called from TWNDDATA:EVENT(0) Called from MAIN(178) in module: Source\main.prg[/pre2] Вот код:[pre2] ? ProcNL(), Repl("*",10) + " DEFINE WINDOW " + Repl("*",10), "Set_bEvents('MyEventsHandler')" DoEvents() Set_bEvents( {|hH,nM,wP,lP| MyEventsHandler(hH,nM,wP,lP) } ) // блок кода обработчика событий программы DEFINE WINDOW Form_Main ; AT 0,0 WIDTH 640 HEIGHT 480 ; TITLE cTitle ICON cIcon ; MAIN NOSHOW ; NOMAXIMIZE NOSIZE NOCAPTION ; ON INIT {|| DoEvents(), _wPost(0) } ; ON RELEASE {|| _LogFile(.T., CRLF + ">>> STOP <<< " + HMG_TimeMS(App.Cargo:tStart) ) } ; ON INTERACTIVECLOSE {|| IIF( lStaticErrorClose, MyExit(), Nil ) } ? ProcNL(), Repl("*",10) + " DEFINE WINDOW " + Repl("*",10), "после" ... o := This.Object o:Event( 0, {|ow| // запуск при инициализации окна Local hWnd, cWnd hWnd := ow:Handle cWnd := ow:Name ? REPL(".", 90 ) ? SPACE(5) + ":Event(0)", ProcNL(), hWnd, IsIconic( hWnd ), cWnd, _HMG_MainHandle myInitForm() DO EVENTS _wSend(1, ow) // запуск события 1 DO EVENTS _wSend(2, ow) // запуск события 2 DO EVENTS _wPost(3, ow) // запуск события 3 Return Nil }) // <<<<<<------------- строка 178[/pre2]

Andrey: Есть такой рабочий код для проверки ранее запущенной программы. [pre2]/* * Проверка запуска программы на ВТОРУЮ копию программы * Check the start of the program on the second copy of the program */ FUNCTION OnlyOneInstance( cAppTitle ) LOCAL hWnd := FindWindowEx( ,,, cAppTitle ) IF hWnd # 0 iif( IsIconic( hWnd ), _Restore( hWnd ), SetForeGroundWindow( hWnd ) ) ExitProcess( 0 ) ENDIF RETURN NIL[/pre2] Код отлично работает с 2013 года, но есть подвох. Если MAIN окно сделать HIDE, то код перестаёт работать. Как это исправить, если MAIN окно всегда HIDE ?

PSP: Andrey пишет: ... LOCAL hWnd := FindWindowEx( ,,, cAppTitle ) ... Как это исправить, если MAIN окно всегда HIDE ? В интернетах пишут, что можно найти в хэндлу дочернего окна. Это - второй параметр этой функции.

Dima: Andrey пишет: Проверка запуска программы на ВТОРУЮ копию программы Для этого существует IsExeRunning

SergKis: Dima hWnd := FindWindowEx( ,,, cAppTitle ) позволяет проверять наличие программы по Title main окна, т.е. один запуск с таким заголовком IsExeRunning() - создает mutex, который проверяется на наличие, по default mutex такой _HMG_IsMultiple := IsExeRunning ( StrTran( GetExeFileName (), '\', '_' ) ) но можно mutex строить от full имени ini + [секция], т.е. несколько запусков exe, но разные параметры, например [pre2] PROCEDURE MAIN(cParam) Local cMutex Default cParam := "0" cMutex := StrTran( GetExeFileName ()+"_"+cParam, '\', '_' ) _HMG_IsMultiple := IsExeRunning ( cMutex ) SET MULTIPLE QUIT WARNING ... [/pre2]

Dima: Andrey а что кажет IsWindowVisible(hwnd) если окно скрыто ?



полная версия страницы