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\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.



Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


Haz
администратор




Пост N: 1319
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 19.09.18 17:15. Заголовок: Сергей Даже не знаю..


Сергей

 цитата:
Даже не знаю, что сказать ....



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




Пост N: 6056
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.09.18 14:20. Заголовок: Всем привет ! Есть л..


Всем привет !
Есть ли стандартный объект типа MsgInfo только с прокруткой текста, который выводишь ?
Или самому придётся делать такое окно ?
А то у меня в MsgInfo не помещается весь текст и кнопки не видно.
Вот так на экране обрезает:

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




Пост N: 6087
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.10.18 17:18. Заголовок: Haz пишет: Ты же са..


Haz пишет:

 цитата:
Ты же сам в прошлом посте писал как это лечится


Не лечиться, тогда начинает бровс на экране мелькать.
На тяжёлых операциях, PACK, ZAP или таких:
    For nI := 1 TO Len(aArray)  
if ! empty(aArray[ nI ])
ADD ITEM aArray[ nI ] TO &cBrw OF &cForm // вариант 1
EndIf
IF nI % 500
DO EVENTS // чтобы показывать прелодер из WaitThreadCreate()
ENDIF
Next

Прелодер показывается белым, без картинки и лепестки не крутятся.
Такое впечатление что поток "замерз".
Хотя бы картинку первую показывал. Почему не показывает, не знаю.
Вот код из примера SAMPLES\BASIC\WAIT_WINDOW_2\demo2.prg:
FUNCTION WaitThreadCreate( cTitle )  
....
DEFINE WINDOW &cFormName ;
....
@ 40, (420-128)/2 IMAGE Image_1 PICTURE aStatPictWait[1] ;
WIDTH 128 HEIGHT 128 STRETCH WHITEBACKGROUND TRANSPARENT

END WINDOW

Center Window &cFormName
Activate Window &cFormName NoWait

// Start preloding in a separate thread
// Запускаем preloding в отдельном потоке
hb_threadDetach( hb_threadStart( HB_THREAD_INHERIT_MEMVARS, @WaitThreadTimer(), SECONDS() ) )

RETURN NIL


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




Пост N: 1380
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 27.10.18 17:46. Заголовок: Andrey пишет: For n..


Andrey пишет:

 цитата:
For nI := 1 TO Len(aArray)
if ! empty(aArray[ nI ])
ADD ITEM aArray[ nI ] TO &cBrw OF &cForm // вариант 1
EndIf
IF nI % 500
DO EVENTS // чтобы показывать прелодер из WaitThreadCreate()
ENDIF
Next


Так ты убрал отсюда заполнение бровса или нет

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




Пост N: 1381
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 27.10.18 17:50. Заголовок: В общем повторюсь о ..


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

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




Пост N: 2111
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 27.10.18 18:04. Заголовок: Haz пишет Подготовил..


Haz пишет
 цитата:
Подготовил данные, дай их бровсу через сетаррай и все.


Еще проще, до окна запусти прелодер, формируй в это время массив
по завершении создавай окно с тсб и в on init убирай прелодер и работай.
Ты все проделываешь, наверно, в on init ?

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




Пост N: 6089
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.10.18 18:06. Заголовок: SergKis пишет: Еще ..


SergKis пишет:

 цитата:
Еще проще, до окна запусти прелодер, формируй в это время массив
по завершении создавай окно с тсб и в on init убирай прелодер и работай.


Да я так и сделал ! Скорость возрасла, несмотря на большые данные.

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




Пост N: 2112
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 27.10.18 18:08. Заголовок: Andrey пишет Вот код..


Andrey пишет
 цитата:
Вот код из примера


То пример, а у тебя программа - это может быть большая разница

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




Пост N: 6091
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.10.18 18:09. Заголовок: SergKis пишет: Еще ..


SergKis пишет:

 цитата:
Еще проще, до окна запусти прелодер, формируй в это время массив
по завершении создавай окно с тсб и в on init убирай прелодер и работай.


Да я так и сделал ! Скорость возрасла, несмотря на большые данные.

Haz пишет:

 цитата:
Так ты убрал отсюда заполнение бровса или нет


Да !
Я ушёл от этого.
Сейчас другая проблема.
Первое окно прелодера - белое, без картинки.
Как сделать чтобы первое окно было с картинкой ?
Вот код из примера SAMPLES\BASIC\WAIT_WINDOW_2\demo2.prg:
FUNCTION WaitThreadCreate( cTitle )   
....
DEFINE WINDOW &cFormName ;
....
@ 40, (420-128)/2 IMAGE Image_1 PICTURE aStatPictWait[1] ;
WIDTH 128 HEIGHT 128 STRETCH WHITEBACKGROUND TRANSPARENT

END WINDOW

Center Window &cFormName
Activate Window &cFormName NoWait

InkeyGui(100)
DO EVENTS // поставил так, всё равно картинки нет !

// Start preloding in a separate thread
// Запускаем preloding в отдельном потоке
hb_threadDetach( hb_threadStart( HB_THREAD_INHERIT_MEMVARS, @WaitThreadTimer(), SECONDS() ) )

RETURN NIL


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




Пост N: 6092
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.10.18 18:10. Заголовок: SergKis пишет: То п..


SergKis пишет:

 цитата:
То пример, а у тебя программа - это может быть большая разница


Прелодер - один в один как и SAMPLES\BASIC\WAIT_WINDOW_2\demo2.prg

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




Пост N: 2113
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 27.10.18 18:24. Заголовок: Andrey Я без потоко..


Andrey
Я без потоков делаю, если это в пределах до 60 сек. обхожусь сообщением (+может быть счетчик в StatusBar)
Если использую окно с progressbar, так в таком виде вызов Do_WaitWindow( {|o| Otbor(o) } )
сама ф-я такая Скрытый текст

как то хватает.
В твоем случае нет прорисовки

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




Пост N: 6093
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.10.18 18:34. Заголовок: SergKis пишет: В тв..


SergKis пишет:

 цитата:
В твоем случае нет прорисовки


А почему ? Простой же код.
Не смертельно, но просто некрасиво.
В цикле с базой работает, а на тяжёлых операциях нет прорисовки и всё тут.
Делал даже так:
   // создаём окно ожидания с потоком 
WaitThreadCreate( 'Расчёт по отчёту ...' )
InkeyGui(100)
DO EVENTS

Всё равно нет прорисовки иногда.

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




Пост N: 1382
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.10.18 18:07. Заголовок: Не видно всего кода,..


Не видно всего кода, но такое ощущение что do events лишь бы впихнуть куда. Зачем он после запуска потока,? здесь самое нагруженное место в коде? А в цикле формирования массива данных он есть? Кажется что нет.
Могу ошибаться не видя код. Но что то мне подсказывает что не ошибаюсь

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


Пост N: 1483
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 28.10.18 19:23. Заголовок: Haz пишет: такое ощ..


Haz пишет:

 цитата:
такое ощущение что do events лишь бы впихнуть куда


У меня тоже. Андрей, DO EVENTS нужно ставить в "долгих циклах", чтобы приложение "не зависало".

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




Пост N: 6094
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.10.18 01:05. Заголовок: Haz пишет: Могу оши..


Haz пишет:

 цитата:
Могу ошибаться не видя код. Но что то мне подсказывает что не ошибаюсь


Буду тогда пробовать написать отдельный тест.

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




Пост N: 6117
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.11.18 14:31. Заголовок: Возвращаюсь опять к ..


Возвращаюсь опять к нерешённому вопросу.
У меня в проктах (некоторых) каталог по русски.
При компиляции проекта (через hbmk2.bat) файл error.log (и на экране) получается с кракозябами и сердечками...
И ошибок толком не видно !!!

Вопрос - куда поставить (в какой файл) определение кодировки:
chcp 65001
чтобы файл error.log создавался читаемым ?
Да и в поставку МиниГуи не плохо бы внести такое усовершенствование.

Пробовал поставить в hbmk2.bat , сердечки пропадают, но пути все равно нет:
Turbo Incremental Link 5.66 Copyright (c) 1997-2002 Borland
Error: Unresolved external '_HB_FUN_SHOW2TSB' referenced from W:\HB_PROJECT\ABON4PRJ\└┴╬═┼═╥\TBRW_TABLE3.LIB|form_AbonYearCalc
hbmk2[form_Sprav_List]: Error: Running linker. 2


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




Пост N: 3811
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.11.18 14:57. Заголовок: Как я понял, вывод н..


Как я понял, вывод на stdout компилятора и линкера переадресовывается в error.log, и есть проблема его прочесть ?
Так линкер не переделать, чтобы он в нужной кодовой странице выдавал свой лог. Разве что писать в спортлото Эмбаркадеро Текнолоджиз Инк.
Есть проблема прочесть текстовый файл в желаемой кодировке ? Так это умеет делать например всем известный фар.

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




Пост N: 6118
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.11.18 15:25. Заголовок: Pasha пишет: Как я ..


Pasha пишет:

 цитата:
Как я понял, вывод на stdout компилятора и линкера переадресовывается в error.log, и есть проблема его прочесть ?


Да. До этого были вообще кракозябы и сердечки.
Поставил в hbmk2.bat второй строкой chcp 65001, сердечки пропадают, но пути все равно нет.
Наверное это BCC линковщик выдаёт такую кракозябу.
Тем более он такой древний...
MS VC2017 берет кодировку заданной в файле сборки и по русски пишет правильно.
Понял, что никак.
Спасибо !
Но хоть от сердечек избавился....

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




Пост N: 6155
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.01.19 21:48. Заголовок: У меня опять фигня с..


У меня опять фигня с окнами получается.

Вызываю с главной формы окно MODAL(1) не во весь экран, на этой форме кнопки.
Допустим далее нажимаю кнопку5 , далее показ окна CHILD(5) с ТСБ (Tsbrowse).
В ТСБ на конкретную колонку вешаю свой обработчик.
     oBrw:aColumns[3]:bPrevEdit := { || MyEditColumn3() } 

В функции MyEditColumn3() делаю обработку свою и допустим на 10 позиции курсора - вызываю меню типа такого:
   DEFINE CONTEXT MENU OF &cForm 
MENUITEM "Редактировать" ACTION {|| nMenuItem := 1 } FONT Font1
SEPARATOR
MENUITEM "Скопировать поле в буфер обмена" ACTION {|| nMenuItem := 2 } FONT Font1
MENUITEM "Скопировать в поле из буфера обмена" ACTION {|| nMenuItem := 3 } FONT Font1
SEPARATOR
MENUITEM "Выход" ACTION {|| nMenuItem := 0 } FONT Font2 IMAGE "m_Exit32"
END MENU

_ShowContextMenu(cForm, nY, nX, .f. ) // ПОКАЗ ВЫПАДАЮЩЕГО МЕНЮ

Меню появляется на фоне MODAL(1) и таблицу практически не видно.
Почему ? Как сделать, чтобы меню было на фоне CHILD(5) ?
В отдельном примере отрабатывается нормально.

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




Пост N: 6206
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.03.19 19:48. Заголовок: Всем привет ! Никогд..


Всем привет !
Никогда не делал свою простую печать из МиниГуи, всё делал через ФастРепорт.
Да вот понадобилась...
1) Как распечатать содержимое EDITBOX ? Можно записать в файл, а дальше как печатать этот файл ?
Может примеры есть какие ?

2) И ещё один вопрос. Где то на форуме вроде писали об этом.
Как определить в какой кодировке файл/строка ?

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