Форум » Для флейма » Помогите протестировать первую xHarbour систему » Ответить

Помогите протестировать первую xHarbour систему

AndreyZh: Уважаемые профи! Наконец перевёл систему на 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

AndreyZh: Добрый вечер! 1. Спасибо за советы! Но по "крестику" мало, что понял - наверное "не дорос". Можно ли его блокировать, собирая как у меня в xHarbour - стандартным (упрощенным) образом? 2. Переделал всё с учётом Ваших замечаний, добавив шрифты и настройки Win под Dos (5.92 mb) http://get.freesoft.ru/?id=108083 3. "Нарыл" еще несовместимостей: - Нет функции Random. Есть hb_random, hb_randomInt, но они глючат - Нет функции создания файла Hb_create. Хотя компилятор на её отсутствие не ругается. Спасибо за помощь!

Dima: AndreyZh пишет: 1. Спасибо за советы! Но по "крестику" мало, что понял - наверное "не дорос" В своей проге где нить в самом начале напиши Local hWnd SetConsoleTitle( "Blabla" ) hWnd := FindWindow( "Blabla" ) DeleteCloseButton( hWnd ) * вместо Blabla напиши то что тебе нужно Там же где то вставь код [pre] #PRAGMA BEGINDUMP #include "hbapi.h" #include "windows.h" HB_FUNC( SETCONSOLETITLE ) { hb_retl( SetConsoleTitle( hb_parc( 1 ) ) ) ; } HB_FUNC( FINDWINDOW ) { hb_retnl( (LONG)FindWindow( NULL, hb_parc( 1 ) ) ) ; } HB_FUNC( DELETECLOSEBUTTON ) { DeleteMenu(GetSystemMenu( (HWND)hb_parnl( 1 ), FALSE), SC_CLOSE, MF_BYCOMMAND ) ; DrawMenuBar( (HWND)hb_parnl( 1 ) ) ; } #pragma ENDDUMP [/pre] AndreyZh пишет: - Нет функции Random. Есть hb_random, hb_randomInt, но они глючат Что значит глючат ? Параметры этих функций смотрел ? AndreyZh пишет: Нет функции создания файла Hb_create О DbCreate речь ?

AndreyZh: В своей проге где нить в самом начале напиши Сейчас проверю... Уже несложно, т.к. отделил "различия" кода на Clipper и xHarbour. Что это? Вставка исходника на C в код программы? (Задача весьма актуальна) Что значит глючат ? Параметры этих функций смотрел ? А як же! Глюк выражается в вылете программы, даже ErrorBlock не ловит. Например на коде: nRand:=HB_Random(1,99999) // Отловлено обрамлением паузой wait О DbCreate речь ? Да. Посоветовали (Andrey) http://clipper.borda.ru/?1-4-0-00000527-000-60-0 использовать Да есть она. HB_FTempCreate() Смотри документацию, т.е. xHarbour Language Reference Guide 1.1 Ерунда - последовал Вашему совету (написал сам).


Dima: AndreyZh пишет: Что это? Вставка исходника на C в код программы? (Задача весьма актуальна) Ну да :) Вот готовый примерчиг ;) [pre] Proc main Local hWnd SetConsoleTitle( "Blabla" ) hWnd := FindWindow( "Blabla" ) DeleteCloseButton( hWnd ) wait // а крестик и не доступен ;) return #PRAGMA BEGINDUMP #include "hbapi.h" #include "windows.h" HB_FUNC( SETCONSOLETITLE ) { hb_retl( SetConsoleTitle( hb_parc( 1 ) ) ) ; } HB_FUNC( FINDWINDOW ) { hb_retnl( (LONG)FindWindow( NULL, hb_parc( 1 ) ) ) ; } HB_FUNC( DELETECLOSEBUTTON ) { DeleteMenu(GetSystemMenu( (HWND)hb_parnl( 1 ), FALSE), SC_CLOSE, MF_BYCOMMAND ) ; DrawMenuBar( (HWND)hb_parnl( 1 ) ) ; } #pragma ENDDUMP [/pre]

Dima: Dima пишет: hWnd := FindWindow( "Blabla" ) Для надежности можно сделать так Do While ( hWnd:= FindWindow( "Blabla" ) ) == 0 Enddo

Dima: AndreyZh пишет: Например на коде: nRand:=HB_Random(1,99999) у мну номано сработал код.

AndreyZh: Dima По примерам с "крестиком" при компиляции ругается unresolved external _FindWindows

AndreyZh: у мну номано сработал код Малость не до конца описал текст: proc a() loca nRand, cfile nRand := hb_random(1,99999) wait str(nrand) // РАБОТАЕТ whil .t. nRand := hb_random(1,99999) // УЖЕ ВЫЛЕТАЕТ cfile := alltrim( str(nRand) )+".txt" if !File(cfile) EXIT endi endd retu

Dima: AndreyZh пишет: nRand := hb_random(1,99999) // УЖЕ ВЫЛЕТАЕТ У меня работает НОРМ. А что пишет когда вылетает ? По ходу можно обойтись без рандом , например так ? seconds() // вместо hb_random или более извращенно ? hb_md5(str(seconds())) // вместо hb_random

AndreyZh: А что пишет когда вылетает ? В том то и проблема, что молчит гад и даже обработчик шибок не реагирует. Но это сейчас не важно - решил проблемы другим способом.

Dima: AndreyZh пишет: что молчит гад error.log не пробовал смотреть ? Xharbour или Harbour ?

Dima: AndreyZh пишет: Но это сейчас не важно Думаю важно. Не может вылетать на ровном месте. Возможно в чем то другом причина. Ради прикола запустил в цикле до 1 лимона nRand := hb_random(1,99999) // УЖЕ ВЫЛЕТАЕТ Сработало как часы.

AndreyZh: Думаю важно. Не может вылетать на ровном месте. Возможно в чем то другом причина. Ради прикола запустил в цикле до 1 лимона nRand := hb_random(1,99999) // УЖЕ ВЫЛЕТАЕТ Сработало как часы. Создал аналогичный блок и так же сработало без ошибок.... К сожалению, что было уже затёр, но если Вы скачали первый тестовый пример, то вылет на функции zTemp модуля xharbour.prg

AndreyZh: error.log не пробовал смотреть ? Как ни странно, но файл не создавался. Xharbour или Harbour ? xHarbour

Dima: AndreyZh пишет: xHarbour версия (сборка) ?

AndreyZh: версия (сборка) ? 1.2.1 от декабря 2009

Dima: AndreyZh пишет: 1.2.1 от декабря 2009 Самопал или где то брал готовую ? Проверил на xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6693) xHarbour Compiler build 1.1.0 (SimpLex) (Rev. 6225) Твой пример работает без проблем в том числе и в цикле до 1 лимона.

Петр: Да ничего там не вылетает. За всю историю своего флейма (с учетом топика про ламеров) AndreyZh так и не привел ни ОДНОГО примера с ошибкой [x]Harbour. Флейм он и есть флейм.

PSP: Петр пишет: В Harbour можно использовать стандартный вызов hb_gtInfo( HB_GTI_CLOSABLE, .f. ) и для gtWIN если его пересобрать с HB_GTWIN_USE_UNDOC_WINAPI set HB_USER_CFLAGS=%HB_USER_CFLAGS% -DHB_GTWIN_USE_UNDOC_WINAPI Буду знать. Спасибо!

PSP: AndreyZh пишет: По примерам с "крестиком" при компиляции ругается unresolved external _FindWindows В оригинале - FindWindow. (be attentive...)



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