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

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

Andrey: gfilatov2002 пишет: У меня работает такой пример (см.ниже) Сделал тест на базе этого примера - https://cloud.mail.ru/public/fb23fc2d8f87%2FPROGRESSBAR_4.7z По сети работает без ошибок ! Единственно что не смог сделать - это корректное прекращение индексации по крестику. Подскажите пожалуйста как это сделать ?

Dima: Andrey пишет: Единственно что не смог сделать - это корректное прекращение индексации по крестику Если оборвать индексацию файла , то индекс будет битым или я чего не понял.... PS Пример не смотрел.

Andrey: Dima пишет: Если оборвать индексацию файла , то индекс будет битым или я чего не понял.... Подождать пока не закончится индексация этого файла, а остальные прервать.


gfilatov2002: Andrey пишет: Подождать пока не закончится индексация этого файла, а остальные прервать. Посмотри, как прерывается цикл в примере из папки samples\Basic\StopWatch и попробуй использовать эту идею в цикле индексации

Andrey: gfilatov2002 пишет: Посмотри, как прерывается цикл в примере из папки samples\Basic\StopWatch Идея понятна, спасибо ! Пример исправил - https://cloud.mail.ru/public/1b3427b9e886%2FPROGRESSBAR_4a.7z А как по крестику отловить нажатие мышки ? Там в функции CreateDualProgressBar() окно модальное, не знаю как сделать обработку.

gfilatov2002: Andrey пишет: как по крестику отловить нажатие мышки ? Попробуй использовать для этого событие ON INTERACTIVECLOSE

Andrey: gfilatov2002 пишет: Попробуй использовать для этого событие ON INTERACTIVECLOSE Я и поставил его туда уже ! Не собирается исходник !!! См. пример выше !

SergKis: Andrey вот так собирает:[pre2] DEFINE WINDOW Form_2Index ; ROW 0 COL 0 ; WIDTH 455 HEIGHT 320 ; TITLE cTitle ; MODAL NOSIZE ; ON INTERACTIVECLOSE MyExitIndex() ; FONT 'Tahoma' SIZE 12 [/pre2] MyExitIndex() - должен возвращать .T./.F. для ON INTERACTIVECLOSE, определи lExit - она NIL

gfilatov2002: Andrey пишет: См. пример выше Попробуй изменить так: [pre2] DEFINE WINDOW Form_2Index ; ROW 0 COL 0 ; WIDTH 455 HEIGHT 320 ; TITLE cTitle ; /*WINDOWTYPE*/ MODAL ; NOSIZE ; FONT 'Tahoma' SIZE 12 ; ON INTERACTIVECLOSE { || MyExitIndex() } [/pre2]

Andrey: SergKis пишет: MyExitIndex() - должен возвращать .T./.F. для ON INTERACTIVECLOSE, определи lExit - она NIL Это я просто сократил уже после проб. Просмотрел. Первоначально было: lExit := MsgYesNo( cMsg, "Exit", .T. ) IF lExit

Andrey: Все теперь собирается, а прерывать индексацию не получается ! Вылетает программа: Error MGERROR/0 Window: Form_2Index is not defined. Program terminated. Called from MSGMINIGUIERROR(72) Called from DOMETHOD(4648) Called from CLOSEDUALPROGRESSBAR(336) Called from NTXCREATE100(191) Вот исправленный исходник - https://cloud.mail.ru/public/5a291a67d2e6%2FPROGRESSBAR_4b.7z

gfilatov2002: Andrey пишет: Вылетает программа Попробуй изменить функцию так: [pre2] FUNCTION CloseDualProgressBar() if iswindowdefined(Form_2Index) Form_2Index.Release endif DO MESSAGE LOOP RETURN NIL [/pre2]

Andrey: gfilatov2002 пишет: Попробуй изменить функцию так: Один раз работает, Окно MsgInfo("Нажата отмена индексации !") не выводит. И на третий раз при отказе - сваливается !!! Error MGERROR/0 Control: PrgBar_1 Of Form_2Index Not defined. Program terminated. Called from MSGMINIGUIERROR(72) Called from SETPROPERTY(3662) Called from NTXDUALPROGRESS(212) Может вообще убрать этот крестик закрытия окна ?

gfilatov2002: Andrey пишет: Может вообще убрать этот крестик закрытия окна ? Вероятно, это лучший вариант - не будет соблазна нажать Или попробуй использовать класc NOAUTORELEASE

Andrey: Ну тогда окончательный вариант - http://file.qip.ru/file/SOZpSDp3/demo2en.html Можно размещать в библиотеке. По сетке работает без ошибок и очень шустро !

Andrey: Можно ли пример MiniGUI\SAMPLES\Applications\SendMail переделать для отправки по почте mail.ru или yandex.ru ? То есть исправить для протокола SSL ? Там используется oSocket := TSMTP():New()

gfilatov2002: Andrey пишет: То есть исправить для протокола SSL ? Нет, поскольку класс TSMTP не поддерживает SSL Поддержка SSL есть только в библиотеке HBTIP в связке с библиотекой HBSSL. Также потребуются две доп.библиотеки из поставки OpenSSL (инсталлятор Win32OpenSSL_Light-1_0_0g.exe). Итого команда сборки выглядит так: hbmk2 -lhbtip -lhbssl -llibeay32 -lssleay32 mail.prg Пример отправки почты выглядит так: [pre] #require "hbssl" #require "hbtip" REQUEST __HBEXTERN__HBSSL__ #include "simpleio.ch" PROCEDURE Main( cFrom, cPassword, cTo ) IF ! tip_SSL() ? "Error: Requires SSL support" wait RETURN ENDIF hb_default( @cFrom , "test@yandex.ru" ) hb_default( @cPassword, "parol" ) hb_default( @cTo , "mail@mail.ru" ) ? hb_SendMail( ; "smtp.yandex.ru", ; 465, ; cFrom, ; cTo, ; NIL /* CC */, ; {} /* BCC */, ; "It is a test message", ; "It is a test subject", ; NIL /* attachment */, ; cFrom, ; cPassword, ; "", ; NIL /* nPriority */, ; NIL /* lRead */, ; .T. /* lTrace */, ; .F., ; NIL /* lNoAuth */, ; NIL /* nTimeOut */, ; NIL /* cReplyTo */, ; .T. ) wait RETURN[/pre] Вот такие дела

Dima: gfilatov2002 пишет: Вот такие дела И еще возможно придется ставить пакет Visual C++ Redistributables вот от сюда http://slproweb.com/products/Win32OpenSSL.html У меня прога падала c ошибкой 0xc015002 ,пока его не установил.

Andrey: Dima пишет: И еще возможно придется ставить пакет Visual C++ Redistributables вот от сюда Это для компиляции, или для каждого клиента (юзера) где стоит программа ?

Dima: Andrey пишет: для каждого клиента (юзера) где стоит программа ? Для каждого , ну если Винда не обновляется конечно. Проверять надо.



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