On-line: PSP, SergKis, tnsr2, гостей 3. Всего: 6 [подробнее..]
АвторСообщение





Пост 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

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 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. С Днем Победы !

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 132
Зарегистрирован: 12.11.06
ссылка на сообщение  Отправлено: 09.05.10 10:50. Заголовок: Pasha Супер! Я восх..


Pasha
Супер! Я восхищён! Надеюсь сам когда нибудь научусь так разбираться в исходниках системы разработки...


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


Пост N: 901
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 09.05.10 11:17. Заголовок: Самодостаточный прим..



 цитата:
Самодостаточный пример:


В Harbour все OK.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1443
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 10.05.10 17:47. Заголовок: Эдуардо уже исправил..


Эдуардо уже исправил этот глюк

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 133
Зарегистрирован: 12.11.06
ссылка на сообщение  Отправлено: 10.05.10 21:01. Заголовок: Эдуардо уже исправил..



 цитата:
Эдуардо уже исправил этот глюк


Оперативно! Но зачем то приведённый Вами "...IF ::Type=="N" .AND. ::hasfocus .AND..." фрагмент исходника создавался? Интересно какой в нём смысл? Для общего развития (в htm инструкции не нашёл):

1. Какая максимальная длина массива в xHarbour?
2. До кучи, что означают :: в фрагменте кода?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1444
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 10.05.10 21:54. Заголовок: Устранялась какая-то..


Устранялась какая-то несовместимость с picture, точно не скажу какая, это было несколько лет назад. То есть, намерения были самыми благими, но реализация неудачной - внесен другой глюк.

Максимальный размер массива для 32-битных систем - теоретически - 2^32 степени, т.е. 4 млрд. элементов, для 64-битных систем - 2^64 степени. Практически конечно меньше.

Этот фрагмент кода - метод display класса get, а символ "::" - обращение к полям и методам объекта класса get. Такой синтаксис ООП в харборе.

Спасибо: 1 
ПрофильЦитата Ответить





Пост N: 134
Зарегистрирован: 12.11.06
ссылка на сообщение  Отправлено: 10.05.10 22:04. Заголовок: Pasha Спасибо за ко..


Pasha Спасибо за конкретный и полный ответ!

Спасибо: 0 
ПрофильЦитата Ответить





Пост 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 обрабатывается корректно. Могет кому-то это интересно.

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




Пост N: 1284
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.05.10 16:17. Заголовок: Вообще то всегда нуж..


Вообще то всегда нужно делать чистку буфера клавиатуры после обработки.... Тогда глюков не будет.
Я такие конструкции даже и не создаю, после граблей еще на 5.01

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 27.05.10 14:38. Заголовок: Andrey пишет: Вообщ..


Andrey пишет:

 цитата:
Вообще то всегда нужно делать чистку буфера клавиатуры после обработки....



А как ты это делаешь, если не секрет?

Спасибо: 0 
Цитата Ответить
администратор




Пост N: 1666
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 27.05.10 14:41. Заголовок: Stim пишет: А как т..


Stim пишет:

 цитата:
А как ты это делаешь, если не секрет?


Вероятно командой CLEAR TYPEAHEAD

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 27.05.10 15:17. Заголовок: Dima пишет: Вероятн..


Dima пишет:

 цитата:
Вероятно командой CLEAR TYPEAHEAD


Точно!
Thanks!


Спасибо: 0 
Цитата Ответить
постоянный участник




Пост N: 185
Зарегистрирован: 06.02.07
ссылка на сообщение  Отправлено: 27.05.10 19:15. Заголовок: Я иногда (уж не помн..


Я иногда (уж не помню теперь из каких резонов) делал не просто CLEAR TYPEAHEAD, а еще после нее втыкал KEYBOARD CHR(0) ... Видимо, от чего-то нежелательного помогало: или CLEA TYPE не до конца все что надо зачищал, или просто чтобы, например, функция пользователя в DBEDIT() "вхолостую" отработала... не помню... но помню, что от чего-то "излечивало".

И, кстати, перед командой ожидания нажатия клавиши (перед INKEY(0) или READ) тоже буфер клавиатуры чистил.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 136
Зарегистрирован: 12.11.06
ссылка на сообщение  Отправлено: 27.05.10 20:58. Заголовок: Добрый вечер господа..


Добрый вечер господа!

clea type не работает с данными "глюками".

До кучи cmonth не руссифицирован, т.е. пришлось сделать свою функашку. Кроме того, не понятно почему users утверждает, что периодически программа на xHarbour вылетает без сообщений и логов на тех Пк не обнаружил. Продолжается неспешное тестирование практически у всех пользователей (резких шагов не предпринимая до "отпуска") постепенно переводя множество других программ комплекса на xHarb с целью выявления Clipper багов.

Спасибо за внимание к теме!


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост 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



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1774
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.06.10 20:48. Заголовок: AndreyZh Как дела с..


AndreyZh
Как дела с переходом на (X)Harbour , или забил на это ?
Просто интересно.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 137
Зарегистрирован: 12.11.06
ссылка на сообщение  Отправлено: 29.06.10 19:30. Заголовок: Спасибо Dima за вним..


Спасибо Dima за внимание!

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

Серьёзные внедрения по всем конторам скорее всего начнуться с конца сентября. Вот тогда останеться надеяться на оперативную помощь специалистов данного форума.

Спасибо: 0 
ПрофильЦитата Ответить





Пост 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>

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1673
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.10.10 18:10. Заголовок: А не пробовали испол..


А не пробовали использовать letodb ? По крайней мере был бы аргумент "стало намного быстрее", уж не говоря об остальном
Из своего опыта использования letodb: там, где БД небольшая и скорость некритична, переход от DBFCDX к LETO прошел для пользователей почти незаметно. На большой БД, где мне постоянно жаловались на медленную работу, а так оно и было, и я ничего не мог поделать, после установки letodb поиск и выборки стали в разы быстрее, что сразу было заметно.
Была у меня и замена ADS на LETO. Вечером, после работы, я сделал все необходимые изменения в настройках, остановил ADS, запустил LETO. Утром пользователи включились, и.. никаких изменений не увидели, будто ничего не произошло.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост 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


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 182 , стр: 1 2 3 4 5 6 7 8 9 10 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 109
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет