Автор | Сообщение |
|
| Администратор
|
Пост N: 966
Зарегистрирован: 23.05.05
|
|
Отправлено: 21.08.08 15:13. Заголовок: Harbour TBrowse
Если собрать xHarbour с использованием класса TBrowse из Harbour (в xHarbour его можно взять из tests\tbrowse.prg), то не работают методы перемещения вниз: tbrowse:down() и tbrowse:pagedown() При нажатии down-pagedown окно просто очищается При этом :up(), :pageup(), :goTop(), goBottom() работают Это у меня одного так ? ЗЫ можно не пересобирать xHarbour, а прилинковать к программе этот модуль, tests\tbrowse.prg
|
|
|
Ответов - 9
[только новые]
|
|
|
| |
Пост N: 52
Зарегистрирован: 27.04.06
|
|
Отправлено: 21.08.08 16:12. Заголовок: Да, дело в строках т..
Да, дело в строках типа FOR EACH lStat, lDisp IN ::aCellStatus, ::aDispStatus [DESCEND] Замените на Clipper конструкции FOR i := 1 TO Len(::aCellStatus) и FOR i := Len(::aCellStatus) TO 1 STEP -1
|
|
|
|
| Администратор
|
Пост N: 967
Зарегистрирован: 23.05.05
|
|
Отправлено: 26.08.08 09:26. Заголовок: Спасибо ! После заме..
Спасибо ! После замены этого цикла, строки 800-810, на FOR i := len(::aCellStatus) TO 1 STEP -1 lStat := ::aCellStatus IF !lStat IF lRead RETURN .F. ENDIF lRead := ::readRecord( i ) ENDIF lDisp := ::aDispStatus IF lDisp ::dispRow( i ) ENDIF NEXT все работает замечательно На первый взгляд несовместимостей я не заметил, все работает быстро Если кеширование данных, все как в клиппере Отличная работа Przemyslaw Czerpak
|
|
|
|
| Администратор
|
Пост N: 968
Зарегистрирован: 23.05.05
|
|
Отправлено: 26.08.08 09:27. Заголовок: Форум немножно покоц..
Форум немножно покоцал код, но думаю понятно
|
|
|
|
| Администратор
|
Пост N: 970
Зарегистрирован: 23.05.05
|
|
Отправлено: 24.09.08 16:15. Заголовок: Обнаружилась еще неб..
Обнаружилась еще небольшая несовместимость с клиппером у Harbour TBrowse. Если не задавать заголовок у TColumn, все равно для заголовка резервируется одна строка, и данные выводятся со 2-й строки. Чтобы пофиксить, надо в функции _DECODE_FH добавить дополнительное условие: ... #ifndef HB_C52_STRICT /* CA-Cl*per bug, it accepts non character values though cannot * display them properly */ if cName != nil nHeight := 1 endif #else ...
|
|
|
|
| |
Пост N: 56
Зарегистрирован: 27.04.06
|
|
Отправлено: 25.09.08 09:10. Заголовок: Да, написал в форуме..
Да, написал в форуме "TBROWSE column heading", Wed Jul 9 05:17:32 EDT 2008 но Przemyslaw Czerpak не откликнулся...
|
|
|
|
| |
Пост N: 937
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.10.08 12:58. Заголовок: Pasha Проверь почту..
Pasha Проверь почту !
|
|
|
|
| |
Пост N: 939
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.10.08 14:43. Заголовок: Pasha пишет: FOR i ..
Pasha пишет: цитата: | FOR i := len(::aCellStatus) TO 1 STEP -1 lStat := ::aCellStatus IF !lStat // тут падает IF lRead RETURN .F. ENDIF lRead := ::readRecord( i ) ENDIF lDisp := ::aDispStatus IF lDisp ::dispRow( i ) ENDIF NEXT |
| Заменил , теперь бьет ошибку в 3 строке Subsystem Call ....: BASE System Code .......: 1066 Default Status ....: .F. Description .......: Неверный аргумент Operation .........: сравнение В браузере у меня помещается скажем 15 строк на экране , как только еду ниже 15 , тут и падает. Где копать ?
|
|
|
|
| |
Пост N: 940
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.10.08 14:47. Заголовок: Сам въехал ;))) Вот ..
Сам въехал ;))) Вот так должно быть FOR i := len(::aCellStatus) TO 1 STEP -1 lStat := : : aCellStatus IF !lStat IF lRead RETURN .F. ENDIF lRead := ::readRecord( i ) ENDIF lDisp := : : aDispStatus IF lDisp ::dispRow( i ) ENDIF NEXT и так ;) FOR i := 1 TO Len(::aCellStatus) lStat := : : aCellStatus IF !lStat IF lRead RETURN .F. ENDIF lRead := ::readRecord( i ) ENDIF lDisp := : : aDispStatus IF lDisp ::dispRow( i ) ENDIF next
|
|
|
|
| |
Пост N: 941
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.10.08 14:50. Заголовок: Что то форум сжирает..
Что то форум сжирает символы У Паши все верно если его месагу смотреть в режиме редактирования.
|
|
|
|