Автор | Сообщение |
|
| |
Пост N: 64
Зарегистрирован: 12.11.06
|
|
Отправлено: 03.04.10 20:51. Заголовок: Помогите протестировать первую xHarbour систему
Уважаемые профи! Наконец перевёл систему на xHarbour (терминальный режим). Если не сложно помогите найти ошибки в её работе (сам уже тестил). Если есть желание, то с удовольствием приму критику в любом виде и отвечу на все вопросы. Система содержит исходный код (+ база очень крупной оптовки за 4 месяца) и варианты Clipper (нужна настройка ОС) и xHarbour (Win32) программ. Для установки скачать в любой каталог и распаковать архив. Все виды паролей - 11. Для создания индексов clipper (s_repair.bat), harbour (srepharb.bat). Справка F1 в любом режиме, инструкции в каталоге document. Для принудительного запуска st.bat (clip)/sth.bat (harb). По системе печати, если интересно - отдельно. Состав комплекса: 1. Оперативная программа. ls.exe (clip)/hls.exe (harb) 2. Администратор и бухгалтерия. la.exe (clip)/hla.exe (harb) 3. Аналитический контур. ldust.exe (clip)/hld.exe (harb) Буду очень благодарен за найденные ошибки и критику в любой форме! Скачка с учётом исправлений всех замечаний на 04.04.2010 (5.92) http://get.freesoft.ru/?id=108083
|
|
|
Ответов - 182
, стр:
1
2
3
4
5
6
7
8
9
10
All
[только новые]
|
|
|
| Администратор
|
Пост N: 1442
Зарегистрирован: 23.05.05
|
|
Отправлено: 09.05.10 10:32. Заголовок: Я нашел этот глюк. ..
Я нашел этот глюк. Самодостаточный пример: Local cChar := ' ', n := 1 Local GetList := {} cls @ 1,0 say 'Char' get cChar read @ 2,0 say 'number' get n picture "9" read wait Причина глюка: soruce/rtl/tget.prg, line 715: IF ::Type=="N" .AND. ::hasfocus .AND. (::DecPos=NIL .OR. ::DecPos > ::nMaxLen ) .AND. ( LastKey()=Asc(',') .OR. LastKey()=Asc('.') ) Я написал в devlist, пусть Эдуардо Фернандес исправляет PS. С Днем Победы !
|
|
|
|
| |
Пост N: 132
Зарегистрирован: 12.11.06
|
|
Отправлено: 09.05.10 10:50. Заголовок: Pasha Супер! Я восх..
Pasha Супер! Я восхищён! Надеюсь сам когда нибудь научусь так разбираться в исходниках системы разработки...
|
|
|
|
| постоянный участник
|
Пост N: 901
Зарегистрирован: 09.10.06
|
|
Отправлено: 09.05.10 11:17. Заголовок: Самодостаточный прим..
|
|
|
|
| Администратор
|
Пост N: 1443
Зарегистрирован: 23.05.05
|
|
Отправлено: 10.05.10 17:47. Заголовок: Эдуардо уже исправил..
Эдуардо уже исправил этот глюк
|
|
|
|
| |
Пост N: 133
Зарегистрирован: 12.11.06
|
|
Отправлено: 10.05.10 21:01. Заголовок: Эдуардо уже исправил..
цитата: | Эдуардо уже исправил этот глюк |
| Оперативно! Но зачем то приведённый Вами "...IF ::Type=="N" .AND. ::hasfocus .AND..." фрагмент исходника создавался? Интересно какой в нём смысл? Для общего развития (в htm инструкции не нашёл): 1. Какая максимальная длина массива в xHarbour? 2. До кучи, что означают :: в фрагменте кода?
|
|
|
|
| Администратор
|
Пост N: 1444
Зарегистрирован: 23.05.05
|
|
Отправлено: 10.05.10 21:54. Заголовок: Устранялась какая-то..
Устранялась какая-то несовместимость с picture, точно не скажу какая, это было несколько лет назад. То есть, намерения были самыми благими, но реализация неудачной - внесен другой глюк. Максимальный размер массива для 32-битных систем - теоретически - 2^32 степени, т.е. 4 млрд. элементов, для 64-битных систем - 2^64 степени. Практически конечно меньше. Этот фрагмент кода - метод display класса get, а символ "::" - обращение к полям и методам объекта класса get. Такой синтаксис ООП в харборе.
|
|
|
|
| |
Пост N: 134
Зарегистрирован: 12.11.06
|
|
Отправлено: 10.05.10 22:04. Заголовок: Pasha Спасибо за ко..
Pasha Спасибо за конкретный и полный ответ!
|
|
|
|
| |
Пост N: 135
Зарегистрирован: 12.11.06
|
|
Отправлено: 15.05.10 13:00. Заголовок: Добрый день! Прикол:..
Добрый день! Прикол: Описанная проблемка xHarbour с обработкой READ и исправлением кодом READ IF ReadKey() == K_CTRL_O KEYB Chr(K_ENTER) WAIT "" LOOP ENDI Выявило, что данный "глюк" тянется из Clipper - данный блок не даёт считать цифру 1 (устройство - принтер) - происходит "зацикливание", если все вопросы формы подтверждать Enter (код клавиши 13, а не 15). Другие цифры (устройства) или подтверждение клавишей PgDown обрабатывается корректно. Могет кому-то это интересно.
|
|
|
|
| постоянный участник
|
Пост N: 1284
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.05.10 16:17. Заголовок: Вообще то всегда нуж..
Вообще то всегда нужно делать чистку буфера клавиатуры после обработки.... Тогда глюков не будет. Я такие конструкции даже и не создаю, после граблей еще на 5.01
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 27.05.10 14:38. Заголовок: Andrey пишет: Вообщ..
Andrey пишет: цитата: | Вообще то всегда нужно делать чистку буфера клавиатуры после обработки.... |
| А как ты это делаешь, если не секрет?
|
|
|
|
| |
Пост N: 1666
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.05.10 14:41. Заголовок: Stim пишет: А как т..
Stim пишет: цитата: | А как ты это делаешь, если не секрет? |
| Вероятно командой CLEAR TYPEAHEAD
|
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 27.05.10 15:17. Заголовок: Dima пишет: Вероятн..
Dima пишет: цитата: | Вероятно командой CLEAR TYPEAHEAD |
| Точно! Thanks!
|
|
|
|
| постоянный участник
|
Пост N: 185
Зарегистрирован: 06.02.07
|
|
Отправлено: 27.05.10 19:15. Заголовок: Я иногда (уж не помн..
Я иногда (уж не помню теперь из каких резонов) делал не просто CLEAR TYPEAHEAD, а еще после нее втыкал KEYBOARD CHR(0) ... Видимо, от чего-то нежелательного помогало: или CLEA TYPE не до конца все что надо зачищал, или просто чтобы, например, функция пользователя в DBEDIT() "вхолостую" отработала... не помню... но помню, что от чего-то "излечивало". И, кстати, перед командой ожидания нажатия клавиши (перед INKEY(0) или READ) тоже буфер клавиатуры чистил.
|
|
|
|
| |
Пост N: 136
Зарегистрирован: 12.11.06
|
|
Отправлено: 27.05.10 20:58. Заголовок: Добрый вечер господа..
Добрый вечер господа! clea type не работает с данными "глюками". До кучи cmonth не руссифицирован, т.е. пришлось сделать свою функашку. Кроме того, не понятно почему users утверждает, что периодически программа на xHarbour вылетает без сообщений и логов на тех Пк не обнаружил. Продолжается неспешное тестирование практически у всех пользователей (резких шагов не предпринимая до "отпуска") постепенно переводя множество других программ комплекса на xHarb с целью выявления Clipper багов. Спасибо за внимание к теме!
|
|
|
|
| |
Пост N: 1668
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.05.10 21:21. Заголовок: AndreyZh пишет: До ..
AndreyZh пишет: цитата: | До кучи cmonth не руссифицирован |
| А если так попробовать. Proc main REQUEST HB_LANG_RU866 HB_LANGSELECT("RU866") ? cmonth(date()) return
|
|
|
|
| |
Пост N: 1774
Зарегистрирован: 17.05.05
|
|
Отправлено: 28.06.10 20:48. Заголовок: AndreyZh Как дела с..
AndreyZh Как дела с переходом на (X)Harbour , или забил на это ? Просто интересно.
|
|
|
|
| |
Пост N: 137
Зарегистрирован: 12.11.06
|
|
Отправлено: 29.06.10 19:30. Заголовок: Спасибо Dima за вним..
Спасибо Dima за внимание! Неспешно система тестируется пользователями. Находятся мелкие глюки исправляемые без обращения к уважаемому сообществу. При этом немножко "зарылся" в задачках поставлемых государственными ведомствами, в частности по алкоголю и новом внедрении. Но на ряде предприятий (не критичных) система на xHarbour уже работает в реальном режиме. Серьёзные внедрения по всем конторам скорее всего начнуться с конца сентября. Вот тогда останеться надеяться на оперативную помощь специалистов данного форума.
|
|
|
|
| |
Пост N: 163
Зарегистрирован: 12.11.06
|
|
Отправлено: 15.10.10 14:19. Заголовок: Добрый день! Неболь..
Добрый день! Небольшой отчётик о попытках продвижения системы УС Land реализованной на xHarbour в "широкие массы": I. Перевод "старых" пользователей идёт крайне туго... Из десятка магазинов, где перевёл (а это мизер) со скандалом отказались 4 магазина мотивируя: 1. Невозможностью использовать полный экран 2. Активным невосприятием шрифта 3. Якобы (мне так и не показали) периодическим временным подвисанием (на 0.5-2 секунды) программ во время оперативной работы 4. Неудобством Win переключением шрифтов и прочие надуманные причины. II. Перевод у "основного спонсора" должен делать их ИТ отдел. Под него пришлось переписать на xHarb ещё 4 уникальные программы, но они не торопятся переводить: 1. И так ништяк 2. Слишком много настроек переделывать 3. Гемор с прочими бизнес задачами... А для меня переход их на УС Land был бы мощнейшем аргументом для остальных пользователей... Так, что когда смогу спокойно работать только с одной системой разработки - уже не знаю. Спасает несколько моментов: 1. Клиппер и Харбоур системы используют единный исходный код и таблицы, т.ч. переходы вперед-назад решаются только переиндексацией 2. Пользователи из Интернет в основном юзают систему на xHarb присылая замечания по ошибкам, которые периодически исправляются (в обоих системах) Думаю будет интересно. Очередная партия исправленных несовместимостей: 1. Упоминалось. Разный подход к оформлению пользовательских функций в memoedit. 2. Изменил шрифт программ и сейчас размер шрифта (окна Win-dows) адаптируется к разрешению экрана. 3. К окнам добавлены иконки соответствующих программ. 4. Глобальная проблемка (исправил) – при выводе в файл (несмотря на предупреждение делали имена файлов русскими – система это игнорировала) - УС Land не воспринимал русские имена файлов. 5. Отсутствие функции анализа готовности принтера PrintReady – теперь программы печатают на любое устройство печати системы, а так решил проблему печати на матричный принтер (устройство – 1 Принтер). 6. Вылет программы, если она требовала для работы передачи внешнего параметра, но ничего не передавалось. Сейчас задаю «параметр по умолчанию». 7. Название месяца/недели. Данные наименования давались «аглицком» - сейчас по-русски. 8. Решена «потенциальная» проблема. Вылет программы по ошибке при некоторых последовательностях операций в режиме списания товаров (более строгая работа с БД). 9. Переделаны (созданы) под «нюансы» xHarbour ВСЕ программы комплекса. А именно: - HLO – система «внешних» заказов. - HLVZ – эмулятор систем КПК на персональных компьютерах. - HLKPK – интерфейс к системе «МТ – Мобильная торговля». - HLRA – интерфейс к системе мобильной торговли «Оптиум». - HLSM – ограниченный (для ГНИ) вариант «оперативной» программы. При желании "последнюю" версию системы можно скачать со страницы Версия УС Land - Август.2010 года<\/u><\/a>
|
|
|
|
| Администратор
|
Пост N: 1673
Зарегистрирован: 23.05.05
|
|
Отправлено: 15.10.10 18:10. Заголовок: А не пробовали испол..
А не пробовали использовать letodb ? По крайней мере был бы аргумент "стало намного быстрее", уж не говоря об остальном Из своего опыта использования letodb: там, где БД небольшая и скорость некритична, переход от DBFCDX к LETO прошел для пользователей почти незаметно. На большой БД, где мне постоянно жаловались на медленную работу, а так оно и было, и я ничего не мог поделать, после установки letodb поиск и выборки стали в разы быстрее, что сразу было заметно. Была у меня и замена ADS на LETO. Вечером, после работы, я сделал все необходимые изменения в настройках, остановил ADS, запустил LETO. Утром пользователи включились, и.. никаких изменений не увидели, будто ничего не произошло.
|
|
|
|
| Администратор
|
Пост N: 1674
Зарегистрирован: 23.05.05
|
|
Отправлено: 15.10.10 18:20. Заголовок: AndreyZh пишет: 1. ..
AndreyZh пишет: цитата: | 1. Упоминалось. Разный подход к оформлению пользовательских функций в memoedit. |
| Я тоже когда-то бодался с несовместимостями в memoedit, пока не сказал себе: а зачем мне все эти архаизмы, тяжелое наследие summer'87, эти странные пользовательские функции И стал использовать нативные средства харбора, класс HBEditor Примерно так: oEd := HBEditor():New( ct, nTop, nLeft, nBottom, nRight, .t., nLen, nTab ) oEd:RefreshWindow() while ! oEd:lExitEdit nKey := Inkey(0, 255) if bUser # nil nKey := Eval(bUser, nKey) endif oEd:Edit( nKey ) enddo
|
|
|
Ответов - 182
, стр:
1
2
3
4
5
6
7
8
9
10
All
[только новые]
|
|