On-line: Andrey, Pasha, гостей 0. Всего: 2 [подробнее..]
АвторСообщение





Пост N: 86
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 11.08.13 18:47. Заголовок: Перехожу с Clipper 5.2e на Harbour, список вопросов от "новичка"


Добрый день, уважаемые коллеги.

Большое спасибо за море справочной информации по переходу, но нужно ещё пнуть меня в нужном направлении.

Итак, установил Harbour 3.0 + BCC 5.5.1 ==>> 3.2.0 +minGW скомпилировал и запустил традиционный "Hello, world!"
Дело перешло к проекту, из-за которого собственно и речь. Компилируется что через hbmk2, что самим харбором - без ошибок, всего с парой предупреждений, что меня немало удивило.
Возникли ошибки на этапе линковки:

Скрытый текст

Help, please - что делать и куды бечь ?

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





Пост N: 63
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 11.10.13 00:35. Заголовок: Образцы .hbp - где-то есть на форуме


примеры, нужно затачивать под себя

=================test_bcc.hbp===
#
-platform=win
-compiler=bcc
#-inc
-info
-trace


#further link options
-W3
-es2
#-mt

# compile options
#-m
#-n
#-es0
-w0
#-b

# libs
-liphlpapi
-lxhb
-lhbxpp
-lhbmzip
-lvfw32
-lhbwin
-lhbct
-lhbrtl
-lhbvm
-lhbnf

#-llibpng
-lhbtip
-lhbmisc


-std
-gtwvt
-prgflag=-D_HBMK_ -DIN_NET -DHARB3
-ldflag=-aa

-nohbc

#-run

#source
TEST.PRG
...

===============test_m3.hbp==
#
-platform=win
-compiler=mingw
#-inc
-info
-trace
#--hbinfo
-quiet

-oTEST_m3.EXE
-workdir=C:\temp

#further link options
#-W3
#-es2
#-mt

-ldflag=-Wl,--allow-multiple-definition

# compile options
#-m
#-n
#-es0
-w0
#-b

# libs
....

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





Пост N: 327
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 11.10.13 16:00. Заголовок: Я вот чего думаю - м..


Я вот чего думаю - может придумать какой-нить "стресс-тест", который позволит по максимуму нагрузить подсистему Harbour/С и выяснить - в чем проблема? Может дело в железе/памяти/системных ошибках на конкретной машине?

У кого-нить есть опыт построения подобных вещей? Первая мысль - построить массив на пару миллионов записей (учесть свободную память перед этим, разумеется) и погонять как следует по нему: сложить/вычесть/посчитать контрольные суммы... Может таблицу какую сгородить и прокрутить ее по сети...

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




Пост N: 3026
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.10.13 09:57. Заголовок: Сергей, ну вкратце р..


Сергей, ну вкратце расскажите, решена ли проблема со сваливанием программы ? Помогли советы в harbour users list ?
Насколько я понял, после внесения правок в реестр (обычный трюк для клиппера) проблема исчезла ? Или это только в тестах ?

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



Пост N: 960
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 22.10.13 11:20. Заголовок: Pasha пишет: Может ..


Pasha пишет:

 цитата:
Может дело в железе/памяти/системных ошибках на конкретной машине?

Если проблема в этом, то были б "синие екраны смерти виндовс", плюс к этому создаются дампы памяти, по к-м можно узнать причину. Т.к. вылетала эта прога написанная на clippere, то проблема в коде, как уже было сказано в harbour users list исходников никто не видит и потому все работают в этом случае телепатами. Как я понимаю исходных кодов много, и то что все это завелось под harbour, то это большой плюс harbour-у, а код надо пересмотреть, оптимизировать, лишнее убрать, и т.д...

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





Пост N: 356
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 22.10.13 21:33. Заголовок: Pasha пишет: Сергей..


Pasha пишет:

 цитата:
Сергей, ну вкратце расскажите, решена ли проблема со сваливанием программы ? Помогли советы в harbour users list ?
Насколько я понял, после внесения правок в реестр (обычный трюк для клиппера) проблема исчезла ? Или это только в тестах ?


Спасибо, что не остались равнодушны.

Сегодня под вечер три раза сработала вот эта мышеловка:

 
FUNC Main()

... some inits

BEGIN SEQUENCE
MainMenu()
RECOVER
OutReportLog("Unexpected break in the sequence catched")
END SEQUENCE
ExitProgram()

RETURN // Main()


Теперь вот сижу, ломаю голову, как понять, откуда она вызвана. Получается, что ProcStack() в RECOVER блоке уже ничего не показывает.
Посмотрел - в std.ch нет команды переопределения BREAK <x>, например, на функцию Break(x). У меня в некоторых местах есть, к примеру, BREAK 1, BREAK 2 и потом - RECOVER USING nValue.
Хочу сделать что-то наподобие
#command BREAK <x> => OutReportLog("Break call"+ProcStack(,,TRUE,CRLF)) ; Break(<x>)
Но не уверен в синтаксисе... hbmk2 завис на компиляции одного из *.prg файлов после внесения таких изменений в общий для всего проекта *.ch ...


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





Пост N: 357
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 22.10.13 21:36. Заголовок: AlexMyr пишет: Если..


AlexMyr пишет:

 цитата:
Если проблема в этом, то были б "синие екраны смерти виндовс", плюс к этому создаются дампы памяти, по к-м можно узнать причину. Т.к. вылетала эта прога написанная на clippere, то проблема в коде, как уже было сказано в harbour users list исходников никто не видит и потому все работают в этом случае телепатами. Как я понимаю исходных кодов много, и то что все это завелось под harbour, то это большой плюс harbour-у, а код надо пересмотреть, оптимизировать, лишнее убрать, и т.д...



А чего толку от 2.5 мегабайт исходников? Я их сам 15 лет уже вижу практически каждый день, почти всё наизусть помню - а у меня на рабочем месте ни разу!!! за все время такого вылета не было... Да и на половине рабочих мест предприятия - тоже.

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



Пост N: 961
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 22.10.13 21:52. Заголовок: Sergy пишет: А чего..


Sergy пишет:

 цитата:
А чего толку от 2.5 мегабайт исходников?

Ну да, че толку, винда ж глючит, а она у вас лицензионная?

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





Пост N: 358
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 22.10.13 21:54. Заголовок: AlexMyr пишет: Ну д..


AlexMyr пишет:

 цитата:
Ну да, че толку, винда ж глючит, а она у вас лицензионная?


Честно говоря, не очень понял связи.



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



Пост N: 965
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 22.10.13 22:15. Заголовок: Sergy пишет: Честно..


Sergy пишет:

 цитата:
Честно говоря, не очень понял связи.

Вы говорите о вылетах своей проги и не придаете никакого значения исходникам
Sergy пишет:

 цитата:
А чего толку от 2.5 мегабайт исходников?

принимая их за валидный и оптимальный код. За эти дни можно было уже в каждую ф-ю и процедуру вначале и в конце вписать "начало работы такой-то func", "конец работы такой-то func" все вывести в лог файл и каждый день парсить его на предмет аномалий. Я говорю о том, что вы один на один со своей проблемой, давая только куски кода, где все вроде нормально, а в общем контексте имете то, что имете, и об этом говорили в user list.

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




Пост N: 3657
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.10.13 22:19. Заголовок: AlexMyr пишет: и о..


AlexMyr пишет:

 цитата:
и об этом говорили в user list


Ссылку напомни плиз

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





Пост N: 359
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 22.10.13 22:22. Заголовок: AlexMyr пишет: прин..


AlexMyr пишет:

 цитата:
принимая их за валидный и оптимальный код. За эти дни можно было уже в каждую ф-ю и процедуру вначале и в конце вписать "начало работы такой-то func", "конец работы такой-то func" все вывести в лог файл и каждый день парсить его на предмет аномалий. Я говорю о том, что вы один на один со своей проблемой, давая только куски кода, где все вроде нормально, а в общем контексте имете то, что имете, и об этом говорили в user list.


Честно говоря, не понимаю, с чего Вы так решили. Вовсе не считаю свой код валидным и оптимальным. Ищу ошибку. Сложную.
По поводу "вставить в каждую функцию трассировку" - возможно и дойдет до этого, куда деваться?
Пока хочу разобраться с этой болячкой путем наименьшего затрагивания исходников. Поскольку в 99.999% нажатий на кнопки клавиатуры все происходит так, как положено. И по-хорошему, можно было-бы забить на 2-3 вылета в день. Раньше вылетало чаще. Ну подумаешь, делов-то... Но я так не могу.

Спасибо за поддержку в любом случае.

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



Пост N: 966
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 22.10.13 22:37. Заголовок: Sergy пишет: И по-х..


Sergy пишет:

 цитата:
И по-хорошему, можно было-бы забить на 2-3 вылета в день. Раньше вылетало чаще. Ну подумаешь, делов-то...

Не хочу Вас обидеть, но у юзеров должны быть крепкие нервы в такой ситуации на протяжении 15 лет.

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



Пост N: 967
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 22.10.13 22:51. Заголовок: Dima пишет: Ссылку ..


Dima пишет:

 цитата:
Ссылку напомни плиз

пересмотрю user list, покажу, но там прямо так не сказано.

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



Пост N: 968
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 23.10.13 09:29. Заголовок: AlexMyr пишет: Dima..


AlexMyr пишет:

 цитата:
Dima пишет:

цитата:
Ссылку напомни плиз

пересмотрю user list, покажу, но там прямо так не сказано.



Вот продолжение темы https://groups.google.com/forum/#!topic/harbour-users/zTxmANrh2oU

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




Пост N: 3028
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 23.10.13 09:39. Заголовок: Sergy пишет: Сегодн..


Sergy пишет:

 цитата:
Сегодня под вечер три раза сработала вот эта мышеловка:



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

Можно немного видоизменить код:

recover using oErr

и в протокол выдавать параметры oErr, чтобы было понятно, что это за зверь.


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





Пост N: 360
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 23.10.13 10:54. Заголовок: Pasha пишет: Скорее..


Pasha пишет:

 цитата:
Скорее всего это не наш загадочный случай, а обычная ошибка, которую поймал обрработчик.

Можно немного видоизменить код:

recover using oErr

и в протокол выдавать параметры oErr, чтобы было понятно, что это за зверь.


А если это обычный BREAK, не завернутый в BEGIN SEQUENCE ... RECOVER ... END? Таких команд в тексте много, но все они предназначены для обработки критических ситуаций с таблицами, дисками и тп... Вчера полночи просматривал исходники - вроде все ровно...

Пока сделал так:
#command BREAK [<x>] => BreakList(<x>)
BreakList() выведет стек вызовов включая себя самого и вызовет стандартный Break(x). В случае перехвата в Main() - будет нормальный ExitProgram. Поставил там-же еще Alert() с требованием вызвать админа или программера. В тексте программы сейчас включен отладчик, сырцы на флэшке. Если буду на месте в этот момент - надеюсь поймать.

Спасибо.

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




Пост N: 3029
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 23.10.13 14:49. Заголовок: Для анализа ошибок о..


Для анализа ошибок открытия файла в протокол можно выдавать значение hb_osError(). Это код ошибки последней операции, который дает windows.

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





Пост N: 409
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 14.09.14 20:21. Заголовок: Решил двинуться даль..


Решил двинуться дальше, в сторону подключения мыши к изначально "клавиатурной" программе.
Не то, чтобы очень нужно, но задают вопросы "а с планшета можно" ? Говорю - "можно, но неудобно, тк экранная клавиатура терминального клиента занимает пол-экрана".
Но какие-то шаги в этом направлении пора делать...

Практически все "окна" в программе рисуются "виртуально" при помощи @ a,b,c,d BOX ..., устанавливаются "временные" относительные координаты от начала текущего окна и осуществляется SAY ... GET.

Мне нужно сделать так, чтобы при нажатии мышью за пределами определенного прямоугольника в буфер клавиатуры попала команда Esc, соотв. выбранный отчет/операция будут отменены.

Подскажите пожалуйста - в каком направлении двигаться для адаптирования программы под мышь?
Спасибо.


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





Пост N: 410
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 14.09.14 21:22. Заголовок: И еще вопрос: переше..


И еще вопрос: перешел на GTWVT.
Какие шрифты для работы с ним кто использует?
Кроме "стандартных" Courier и Lucida Console разумеется.

Очень хочется сделать похожим на вот это:



Для себя "нашел" ещё удачными Consolas и Andale Mono.

Какие вообще требования к шрифтам, которые можно подключить к GTWVT? Так понимаю, что шрифт должен быть OpenType и Unicode ?
Может быть, где-то есть готовый список ?



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




Пост N: 415
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.09.14 21:45. Заголовок: Sergy пишет:для адап..


Sergy пишет:
 цитата:
для адаптирования программы под мышь


в каталоге test\mouse.prg, и поищи mouse в test\*.prg для начала.

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

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