Форум » [x]Harbour » Помогите советом начинающему... » Ответить

Помогите советом начинающему...

Urri: Тут вот надумал переползти на xHarbour. Возникла следующая проблема: имена всех функций и подпрограмм дополняются префиксом HB_FUN_. А можно ли этого избежать так, чтобы остались родные, начальные имена. У меня весь софт построен на скриптах, в которых уже стоят вызовы функций и процедур по привычным, родным именам. И перелопатить везде в 5000 текстовых файлах-скриптах вызовы функций и поменять на новые - задача крайне утомительная с непонятной перспективой на успех.

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

Urri: Dima пишет: Можешь подправить и юзать эту функцию http://clipper.borda.ru/?1-4-0-00000339-000-0-0-1223272101 Спасибо Дима. Щас начал разбираться. Непростое дело с непривычки... Тут очередная проблема нарисовалась. Такое впечатление, что запуск программы на Харборе под win95-98 блокирует переключение раскладки клавиатуры рус/лат. Кто-то с этим встречался? Есть ли способы определения того, какая включена раскладка и можно ли ее принудительно менять программно?

Urri: В продолжение к предыдущему.... Катастрофа. Сейчас сам проверил. После запуска программы на Харборе раскладка клавиатуры не переключается на w98. Приехали. У меня с w95-w98 60% машин из 300. Вчера счастливые юзеры на XP новый вариант программы на Харборе одобрили, хотел уже всех пересаживать на Харбор - и такой облом... Что делать, подскажите... Неужели даром столько усилий потрачено... А я еще хотел на GUI под Харбором переходить. И тут такое...

alkresin: Переключается она, у меня тоже несколько клиентских станций под Win98 - и никаких проблем. Вы какой gt используете, gtwin или gtwvt ?


Urri: Я использую gtwin. На XP и 2000 работает... А какую нужно использовать?

alkresin: gtwin на 98 заметно тормозит, поэтому я использую gtwvt, вот такие строчки включаю: #ifdef GTWVT ANNOUNCE HB_GTSYS request HB_GT_WVT REQUEST HB_GT_WVT_DEFAULT #include "hbgtinfo.ch" hb_gtinfo( GTI_FONTWIDTH, INT( hb_gtinfo( GTI_DESKTOPWIDTH ) / 80 ) ) hb_gtinfo( GTI_FONTSIZE, INT( ( hb_gtinfo( GTI_DESKTOPHEIGHT ) - 64 ) / 25 ) ) #endif компилирую с ключом -dGTWVT и, соответственно, прилинковываю gtwvt.lib вместо gtwin.lib. При этом раскладка клавиатуры переключается как в Windows.

Urri: При добавлении указанного текста и замене gtwin.lib на gtwvt.lib при линковке выдает сообщение Error: Unresolved external '_HB_FUN_HB_GT_WIN' referenced from G:\PROC\XHARBOUR\LIB\VM.LIB|mainstd alkresin пишет: При этом раскладка клавиатуры переключается как в Windows. Кстати, а можно ли, чтобы раскладка переключалась как в DOS, а то пользователи привыкли уже к определенным комбинациям клавиш переключения раскладки

Петр: Urri пишет: После запуска программы на Харборе Urri пишет: Error: Unresolved external '_HB_FUN_HB_GT_WIN' referenced from G:\PROC\XHARBOUR\LIB\VM.LIB|mainstd То, чем вы пользуетесь называется xHarbour

Urri: Петр пишет: То, чем вы пользуетесь называется xHarbour Спасибо за важное уточнение... Я и так помню, что работаю именно в xHarbour, а не в Harbour, А пишу так для сокращения. Тут все похоже именно только с xHarbour работают и пока с этим не было проблем. Вот проблема с непереключением рус/лат более трудная...

alkresin: Error: Unresolved external '_HB_FUN_HB_GT_WIN' referenced from G:\PROC\XHARBOUR\LIB\VM.LIB|mainstd Раз xHarbour, надо еще добавить куда-нибудь ( в конец файла, например ): PROCEDURE HB_GT_WIN (); return Кстати, а можно ли, чтобы раскладка переключалась как в DOS, а то пользователи привыкли уже к определенным комбинациям клавиш переключения раскладки С gtwvt - нет.

Петр: Urri пишет: Я и так помню, что работаю именно в xHarbour, а не в Harbour, А пишу так для сокращения. Тут все похоже именно только с xHarbour работают и пока с этим не было проблем. Я и не сомневался, что вы знаете с чем работаете, а другие это знать не обязаны. Error: Unresolved external '_HB_FUN_HB_GT_WIN' referenced from G:\PROC\XHARBOUR\LIB\VM.LIB|mainstd Проблем говорите пока не было?

Urri: В результате .exe модуль запускается из под FARa (как и раньше), но в диспетчере задач Windows объем модуля показывает 836кб (до этого в 10 раз больше) и висит, ни на что не реагирует, но ЦП отжирает на 50%. Снимается только крестиком на окне FAR

alkresin: А вы не забыли поставить -dGTWVT в строку вызова Harbour ? И еще я забыл одну вещь: bcc32 в этом случае надо запускать с ключом -tW ( там, где уже строится exe )

Urri: alkresin пишет: А вы не забыли поставить -dGTWVT в строку вызова Harbour ? Я прямо в модуле перед текстом #define GTWVT поставил. А вот ключ -tW действительно помог. Раскладка теперь переключается. Спасибо. Однако теперь новая проблема: программу невозможно переключить в полноэкранный режим. А у меня еще много мониторов 14". И остается значительно меньше площади для работы (а экран насыщен информацией, необходимой для работы), соответственно меньше шрифт и его качество. Пользователи такой крик поднимут. Невозможность полноэкранного режима - это приговор при использовании gtwvt.lib, или можно что-то с этим сделать?

Dima: Urri Попробуй окошко утащить за пределы экрана (или часть) , потом верни на место. Или свернуть(развернуть) окно Будешь удивлен.......

Urri: Подергал я окна, свернул/развернул. Ничего особого не произошло... А что должно было случиться и даже меня удивить?

alkresin: Однако теперь новая проблема: программу невозможно переключить в полноэкранный режим Полноэкранный режим с gtwvt исключен. Но можно сделать окошко побольше, поиграв с цифрами при установке размера шрифта - поставить вместо hb_gtinfo( GTI_FONTSIZE, INT( ( hb_gtinfo( GTI_DESKTOPHEIGHT ) - 64 ) / 25 ) ) например, hb_gtinfo( GTI_FONTSIZE, INT( ( hb_gtinfo( GTI_DESKTOPHEIGHT ) - 24 ) / 25 ) ) Пользователи поначалу, действительно, поднимут крик, но потом привыкнут. А тормоза с gtwin разве не вызывают проблем ?

Лукашевский: alkresin пишет: А тормоза с gtwin разве не вызывают проблем ? А они явно видны только в линейке Win'9Х. А на XP GTWIN в некоторых моментах работает вроде бы даже и побыстрее, чем GTWVT. Например, когда я обычно делаю два ярлыка: для запуска в GTWIN и для запуска в GTWVT, народ, попробовав оба варианта, обычно пользуется GTWIN. Всё-таки крупные чёткие буквы полноэкранного терминального режима выигрывают .

Urri: Лукашевский пишет: Всё-таки крупные чёткие буквы полноэкранного терминального режима выигрывают Полностью согласен. Особенно для 14" и 15" старых выгоревших мониторов. Так что, мне не надеяться на полноэкранный режим и русскую раскладку под w9x? Может еще кто сталкивался с такой проблемой и находил решение?

Лукашевский: Urri пишет: Кстати, а можно ли, чтобы раскладка переключалась как в DOS, а то пользователи привыкли уже к определенным комбинациям клавиш переключения раскладки Ну если в DOS переключали по Ctrl Shift, то достаточно заменить в Windows'е переключение тоже на Ctrl Shift, и всё. alkresin пишет: С gtwvt - нет. И раскладка будет переключаться по Ctrl Shift и в gtwvt, и в gtwin, и в виндосе. Правда, в gtwvt и виндосе - с любой стороны, а в gtwin, как ранее в DOS - справа на русскую, слева на латинскую. Urri пишет: Есть ли способы определения того, какая включена раскладка Для gtwvt - абсолютно не проблема - виндосный индикатор раскладки в панели задач справа. Для gtwin - тема обсуждалась (поищи), решение вроде есть, но хитрое, насколько я понял через создание параллельного процесса, который время от времени оценивает раскладку и выводит соотв. буковки где-нибудь в окне твоей программы. Короче, я так пока и не сподобился, хотя задача такая юзверями поставлена.

Urri: Странно однако. Неужели у всех под GTWIN работает переключение раскладки клавиатуры под w9x и только я один попался на проблему? Очень хочется полноэкранный режим. А еще юзеры привыкли, что вокруг экрана бордюр показывает раскладку (зеленый, желтый, синий). Или я очень многого хочу и пора юзверей отучать от удобств?



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