Форум » 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.

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

Dima: Andrey А ты ленивый шо туши свет Поиск по сырцам GETFILE , оппа нашли а там рядом живет PUFILE , возвращаемся в SAMPLES\BASIC и обнаруживаем пример.

Andrey: Блин... Искал SAVE... Спасибо БОЛЬШОЕ Dima за наводку !

Andrey: Делаю небольшой пример. Если в конце примера добавлю ещё один файл (типа так): [pre2]#include "resource_avi.prg" [/pre2] ТО пример перестаёт собираться вообще ! [pre2]c:\MiniGui\BATCH\compile.bat demo4 /e /Z Harbour 3.2.0dev (r1710180807) Copyright (c) 1999-2016, http://harbour-project.org/ Compiling 'demo4.prg'... 1 error No code generated. Compile error.[/pre2] Вот такая ошибка: C:\MiniGUI\include\miniprint.ch(14) Error E0004 MEMVAR declaration follows executable statement Я вообще не пользуюсь miniprint .... МиниГуи последний... Что делать ? У меня в minigui.ch рас комментированы строки: [pre2]#ifndef _HMG_OUTLOG #define _HMG_OUTLOG #endif[/pre2] Если меняю в заголовке файла #include "minigui.ch" на #include "hmg.ch", то пример собирается нормально !!!


Andrey: Пример SAMPLES\Advanced\RCDataToFile\demo.prg Если поместить в demo.rc: 1001 RCDATA "hello.exe" - файл или несколько файлов общим размеров примерно больше 750 кб то пример не собирается !!! Вылет по ошибке: demo.c: Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. Turbo Incremental Link 5.66 Copyright (c) 1997-2002 Borland Fatal: Access violation. Link terminated. Надо бы указать в самом demo.rc - что нельзя такого делать ! Или ключи можно подобрать для BCC 5.5.1 На bcc 5.8.2 такого нет.

Alex_Cher: Andrey пишет: Пример SAMPLES\Advanced\RCDataToFile\demo.prg А у меня и ошибка ... Application: C:\MiniGUI\SAMPLES\Advanced\RCDataToFile\demo.exe Date: 11/09/17 Time: 09:47:39 Time from start: 0 days 0 hours 0 mins 0 secs Error BASE/4001 Argument error: HB_PROCESSVALUE Called from HB_PROCESSVALUE(0) Called from MAIN(20) in module: demo.prg

Andrey: Проблема на Win10 для последнего МиниГуи, на других системах всё нормально. Вот такая ошибка появляется при запуске программы: Если смотреть по коду Wait_Window(280) - моя функция:[pre2] DEFINE LABEL Message ROW 20 COL nPictCol*2 + nPictHeight WIDTH nMaxWidth - nPictCol*2 - nPictWidth HEIGHT nMessHeight VALUE cMessage TRANSPARENT .T. ACTION MoveActiveWindow() OnMouseHover RC_CURSOR( "hand32" ) END LABEL // строка 280[/pre2] В чём причина ошибки и как избавиться от такого ?

Dima: Andrey пишет: Проблема на Win10 для последнего МиниГуи, на других системах всё нормально. Тоже заметил непонятный глюк с PageScript именно на дясятке , прога на Harbour упала без объяснения причин.......Вероятно что то не сростается в Harbour и win10

Andrey: Использую объект TEXTBOX [pre2] cFormat := REPL("!",35) @ ... TEXTBOX Text_1 ...... ; INPUTMASK cFormat ; .... [/pre2] Работает нормально. А как мне задать формат букв и цифр без перевода в верхний регистр ? Если ставить как в Харборе cFormat := REPL("Х",35) - то в TEXTBOX появляются ХХХХХХХХХХХХХХХХХХХХХ В доке не совсем понятно: [pre2]InputMask String (Numeric Textbox): 9 Displays digits $ Displays a dollar sign in place of a leading space * Displays an asterisk in place of a leading space . Specifies a decimal point position , Specifies a comma position InputMask String (Non-Numeric Textbox): 9 Digits A Alphabetic Characters ! Alphabetic Characters (Uppercase Conversion) and Digits (All other characters are included in text in the position indicated by the mask) Format String (Allowed in Numeric Textbox Only): C: Displays CR after positive numbers X: Displays DB after negative numbers ( : Encloses negative numbers in parentheses E: Displays numbers in British format N: Displays Alphabetic Characters and Digits[/pre2]

Dima: а пример глянуть ? C:\MiniGUI\SAMPLES\BASIC\INPUTMASK\character2.prg

Andrey: Dima пишет: а пример глянуть ? Спасибо Дима ! Понял.

Andrey: Dima пишет: а пример глянуть ? C:\MiniGUI\SAMPLES\BASIC\INPUTMASK\character2.prg Глянул. Нет такого шаблона/маски для ввода одновременно Lower/Upper цифр и букв кроме формата: ! Alphabetic Characters (Uppercase Conversion) and Digits Блин, и как теперь быть ? Опять переделкой заниматься на GETBOX ? Как мне для объекта TEXTBOX задать формат букв и цифр без перевода в верхний регистр ? Ответ - никак, для TEXTBOX тоже устроит....

SergKis: Andrey пишет без перевода в верхний регистр XXXX - обеспечивает ввод как есть для текстов, а для перевода в upper\lower есть установки дополнительно. // TEXTBOX #command @ <row>, <col> TEXTBOX <name> ; ... [ <upper: UPPERCASE> ] ; [ <lower: LOWERCASE> ] ; ... как бы все есть.

Andrey: SergKis пишет: как бы все есть. Да я уже писал об этом. Попробуй в примере BASIC\INPUTMASK\character2.prg изменить: [pre2] @ 110,120 TEXTBOX text_4 ; VALUE '' ; INPUTMASK 'XXXXXXXXXXXX';[/pre2] Получишь на экране вместо ввода строку XXXXXXXXXXXX ... Вот и задаю вопрос: Как мне для объекта TEXTBOX задать формат букв и цифр без перевода в верхний регистр ?

SergKis: Andrey пишет Как мне для объекта TEXTBOX задать формат букв и цифр без перевода в верхний регистр ? INPUTMASK убери совсем.

Andrey: SergKis пишет: INPUTMASK убери совсем. НЕ могу !!! Мне нужно контролировать длину ввода текста в TEXTBOX ! Как это можно сделать без INPUTMASK ?

SergKis: Andrey пишет Как это можно сделать без INPUTMASK ? есть [ MAXLENGTH <maxlength> ] ; если [ FIELD <field> ] ; должно сработать по длине его для [ VALUE <value> ] ; должно сработать по длине space(20) пробуй.

Andrey: Всем привет ! Делаю контекстное меню. Не могу получить значение выбираемого меню. Вот код:[pre2] STATIC nStatRet := 0 ..... DEFINE CONTEXT MENU OF &cForm FOR nI := 1 TO LEN(aMenuItem) cMenu := aMenuItem[nI] cName := "MyMenuItem" + HB_NtoS(nI) bAction := &( '{|| nStatRet := VAL( "' + HB_NtoS(nI) + '" ) }' ) cImg := aMenuImg[nI] lChk := .F. lDis := .F. _DefineMenuItem( cMenu, bAction, cName, cImg, lChk, lDis, , Font1 , , .F., .F. ) NEXT SEPARATOR MENUITEM "Выход" ACTION {|| nStatRet := 0 } FONT Font2 IMAGE aMenuImg[nLen] END MENU _ShowContextMenu(cForm, nY, nX, .f. ) // ПОКАЗ ВЫПАДАЕЩЕГО МЕНЮ InkeyGui(100) ? nStatRet, VALTYPE(nStatRet)[/pre2] Почему то всегда возвращает 0 ?

SergKis: Andrey пишет Почему то всегда возвращает 0 ? Со времен clipper static переменные в макро не доступны. Т.е. пиши прямо в блок кода или исп. private. Т.к. предст. код - функция, то все просто. У себя делаю[pre2] STATIC FUNC wMainStatusBar( nPos, oWn, nKy ) ... aMdiChild := GetWndMdiChildAll( .T. ) nItems := Len( aMdiChild ) If nItems > 0 PRIVATE nMsg := 0 aItems := {} AEval(aMdiChild, {|ow| AAdd(aItems, { ow:Title, .T., .F., ow:GetProp('wMainMsg') }) }) AEval(aItems , {|ai,ni| aItems[ni][4] := 'm->nMsg := '+hb_ntos(ai[4]) }) // text item , image, disable, block hb_AIns(aItems, 1, { 'WINDOWS IN OPERATION :', .F. , .T. , Nil }, .T.) hb_AIns(aItems, 2, { '' }, .T.) nY := oMain:ClientHeight - oMain:StatusBar:Height * nItems nX := oMain:ClientWidth - oMain:StatusBar:Width(5) - ; oMain:StatusBar:Width(4) If WndContextMenu( nY, nX, aItems ) .and. m->nMsg > 0 oMain:PostMsg( m->nMsg ) EndIf EndIf ... там где у тебя bAction := &( '{|| nStatRet := VAL( "' + HB_NtoS(nI) + '" ) }' ) добавь If HB_ISCHAR(bAction); bAction := &( '{|| '+bAction+' }' ) Else ... EndIf короче писать бкдет [/pre2]

Andrey: SergKis пишет: Со времен clipper static переменные в макро не доступны. А кто мне помогал этот код писать ? Я и делал аналогично как в примере Tsb_composite(1.8).7z : [pre2]STATIC nStaticLang ...... Forma_Lang(cForm) InkeyGui(10) // menu работает через очередь ! ? nStaticLang // вернулась из Forma_Lang(cForm) .... FUNCTION Forma_Lang(cForm) ........ DEFINE CONTEXT MENU OF &cForm MENUITEM "Русский / Russian" ACTION {|| nStaticLang := 1 } FONT Font2 IMAGE aFlags[1] MENUITEM "Украинский / Ukrainian" ACTION {|| nStaticLang := 2 } FONT Font2 IMAGE aFlags[2] MENUITEM "Белорусский / Byelorussian" ACTION {|| nStaticLang := 3 } FONT Font2 IMAGE aFlags[3] MENUITEM "Казахский / Kazakh" ACTION {|| nStaticLang := 4 } FONT Font2 IMAGE aFlags[4] MENUITEM "Английский / English" ACTION {|| nStaticLang := 5 } FONT Font2 IMAGE aFlags[5] SEPARATOR MENUITEM "Удалить значение / Delete value" ACTION {|| nStaticLang := 0 } FONT Font1 SEPARATOR MENUITEM "Выход / Exit" ACTION {|| nStaticLang := -1 } FONT Font1 END MENU ....[/pre2] PRIVATE nMsg := 0 m->nMsg А с каких пор для PRIVATE переменных можно ставить m-> ? Я всегда ставил только для PUBLIC .... Остановился на варианте: [pre2] PRIVATE nMsg m->nMsg := 0 .... bAction := &( '{|| m->nMsg := VAL( "' + HB_NtoS(nI) + '" ) }' ) .... [/pre2] При PRIVATE nMsg := 0 - ошибка компиляции: Harbour 3.2.0dev (r1711152234) form_New.prg(340) Warning W0002 Ambiguous reference, assuming memvar 'NMSG' No code generated. СПАСИБО БОЛЬШОЕ !

SergKis: Andrey пишет А кто мне помогал этот код писать ? 1. ACTION {|| nStaticLang := 1 } и 2. &( '{|| m->nMsg := VAL( "' + HB_NtoS(nI) + '" ) }' ) почувствуй разницу SergKis пишет пиши прямо в блок кода или исп. private 1-е прямо в коде 2-е исп. private



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