Автор | Сообщение |
|
| |
Пост N: 1
Зарегистрирован: 25.02.10
|
|
Отправлено: 09.07.10 11:56. Заголовок: первые непонятки
Здравия желаю уважаемым профи! Помогите,плз, новичку. Качнул 85-й релиз MiniGUI + xMate. На первой же проге вылезли ошибки: Проект: z1_HB, Инструментарий: BccHbMGui: [1]:Harbour.Exe lib_View.PRG /m /n /w0 /es0 /iD:\xMate\project\z1_HB /iC:\MiniGui\Harbour\Include /iC:\miniGUI\INCLUDE /dHB_API_MACROS /dHB_FM_STATISTICS_OFF /dHB_STACK_MACROS /oObj\lib_View.c Harbour 2.1.0beta2 (Rev. 15030) Compiling 'lib_View.PRG'... lib_View.PRG(339) Error E0030 Syntax error "syntax error at 'б'" lib_View.PRG(344) Error E0030 Syntax error "syntax error at 'б'" lib_View.PRG(380) Error E0010 ENDIF does not match IF 3 errors No code generated. вот этот кусок кода: /**** * печать любого файла */ function FPrint( сFileName ,lPrint) // стр 339 local n := 0, nSize, oError, lMore := .T., cBuffer := space( 256 ) local nHandle ,bOldError:=errorblock({|o| ErrorPrint(o) }) lPrint:=iif(lPrint==Nil,.F.,lPrint) if PrtReady() if ( nHandle := fopen( сFileName ) ) == -1 // стр 344 F_Zapros(,,,{ "Файл " + cFileName+" не найден !" }) else Mess_24Line({" Esc~-выход"}) ; lPrint:=.T. nSize := fseek( nHandle, 0, 2 ) fseek( nHandle, 0, 0 ) n := fread( nHandle, @cBuffer, 256 ) set device to print ; set printer to prn setprc(0,0) do while lMore if inkey() == 27 .and. YesNo("Пpеpвать печать ?") @ prow(),pcol() say chr(24) ; lPrint:=.F. exit endif // cBuffer := strtran(cBuffer,chr(12)+CRLF,chr(12)) begin sequence if n < 256 @ prow(),pcol() say substr( strtran(cBuffer,chr(12)+CRLF,chr(12)), 1, n ) lMore = .F. else @ prow(),pcol() say strtran(cBuffer,chr(12)+CRLF,chr(12)) endif recover using oError if YesNo("Пpинтеp не готов ! Пpодолжить ?") loop else exit endif end cBuffer := space( 256 ) n := fread( nHandle, @cBuffer, 256 ) enddo fclose( nHandle ) set printer to ; set device to screen Mess_24Line() endif endif // стр 380 errorblock( bOldError ) // восстановить пpежний обpаботчик ошибок return Подумал что нарвался на зарезервированое название функции в Харборе (FPrint), переименовал – не помогло. Вопросы: 1.Где мона посмотреть коды ошибок и зарезервированные слова и имена фунций 2.Шо такое “REQUEST”
|
|
|
Ответов - 29
, стр:
1
2
All
[только новые]
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 09.07.10 12:56. Заголовок: СевДон пишет: if Ye..
СевДон пишет: цитата: | if YesNo("Пpинтеp не готов ! Пpодолжить ?") loop else exit endif end |
| Для начала - убери end
|
|
|
|
| |
Пост N: 2
Зарегистрирован: 25.02.10
|
|
Отправлено: 09.07.10 13:12. Заголовок: Ster пишет: Для нач..
Ster пишет: зачем? он заканчивает if PrtReady() этот модуль создан и отлажен есчо в прошлом веке и юзается во всех моих прогах на связке Clipper 5.01 + RtLink + немного CT2.lib
|
|
|
|
| |
Пост N: 1798
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.07.10 13:30. Заголовок: Строка function FPri..
Строка function FPrint( cFileName ,lPrint) Буква с в cFileName русская И тут if ( nHandle := fopen( cFileName ) ) == -1 ЗЫ А ClipperУ оказалось по барабану (кушает все)
|
|
|
|
| |
Пост N: 3
Зарегистрирован: 25.02.10
|
|
Отправлено: 09.07.10 13:50. Заголовок: сенкс! бум знать шо ..
сенкс! бум знать шо харбор более привередливый теперь все оттранслировалось, зато линкёр тормознул: Fatal: Unable to open file 'RTL.LIB' перерыл весь комп -- и в сам деле нетути такой либ! в инете сходу не нарыл, где искать и хто виноват? ЗЫ здесь при вводе ответа всё подчеркивает красным (типа спелчекер ругается) какую кнопку ткнуть?
|
|
|
|
| moderator
|
Пост N: 383
Зарегистрирован: 06.07.06
|
|
Отправлено: 09.07.10 14:03. Заголовок: Fatal: Unable to ope..
цитата: | Fatal: Unable to open file 'RTL.LIB' |
| В Harbour - hbrtl.lib
|
|
|
|
| постоянный участник
|
Пост N: 1413
Зарегистрирован: 12.09.06
|
|
Отправлено: 09.07.10 14:17. Заголовок: СевДон пишет: сенкс..
СевДон пишет: цитата: | сенкс! бум знать шо харбор более привередливый |
| Нет он более правильный ! После него ошибок меньше !
|
|
|
|
| |
Пост N: 4
Зарегистрирован: 25.02.10
|
|
Отправлено: 09.07.10 16:01. Заголовок: Andrey пишет: Нет о..
Andrey пишет: цитата: | Нет он более правильный ! После него ошибок меньше ! |
| согласен: ща он нашел вызов DefPathToEnemy() а я протупил и объявил ее как DefPathToEnemyDbf() Клиппер не поперхнулся а Харбор строго указал Ну а по поводу не нахождения библиотек пришлось перечитать топик От Clipper к [x]Harbour через xMate, поменял файл среды, всё нашлось за исключением 3х тулзовских функций: sound() kbdemulate() isega() // ну эту я уже пожалуй грохну да и звук мона заменить а вот шо делать с эмуляцией клавы?
|
|
|
|
| |
Пост N: 1801
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.07.10 16:18. Заголовок: СевДон пишет: kbdem..
СевДон пишет: Не заменит ее команда KEYBOARD ?
|
|
|
|
| |
Пост N: 5
Зарегистрирован: 25.02.10
|
|
Отправлено: 09.07.10 17:00. Заголовок: заменил/выкинул непо..
заменил/выкинул непотребное, всё компильнулось/слинковалось, запускаю экзешник в предвкушении... увы, на экране ничё не появляется, я с ходу решил шо промахнулся, есчо раз запускаю, опять ничего смотрю в диспетчере задач есть моё чудо и аж 2 раза и система начала притормаживать... единственное что -- это в одном файле 2 предупреждения типа: lib_Dbf.PRG(319) Warning W0030 Duplicate variable 'I' in nested FOR loop /* * Заблокировать много баз */ func MenyDbfLock(aDbf) local lRetu := .T., i,ii,j, aHandlOpenDbf:={}, nOldSelect := select() for i:=1 to len(aDbf) if (j := select(aDbf[bd_ALIAS_E])) <> 0 // она уже открыта dbselectarea(aDbf[bd_ALIAS_E]) if MyFilLock() // заблокировали очередную aadd(aHandlOpenDbf,j) else // не удался очередной open -- закрыть то что удалось ранее for i:=1 to len(aHandlOpenDbf) // 319 стр select(aHandlOpenDbf) ; dbunlock() next lRetu := .F. ; exit endif endif next select(nOldSelect) retu (lRetu) мож есть у кого мнение?
|
|
|
|
| постоянный участник
|
Пост N: 1417
Зарегистрирован: 12.09.06
|
|
Отправлено: 09.07.10 17:59. Заголовок: Нет, давай проект. С..
Нет, давай проект. Самому делать тест некогда !
|
|
|
|
| Администратор
|
Пост N: 1574
Зарегистрирован: 23.05.05
|
|
Отправлено: 09.07.10 18:22. Заголовок: Если это не гуевая п..
Если это не гуевая программа, то в начале вставьте 2 строки: REQUEST HB_GT_WIN REQUEST HB_GT_WIN_DEFAULT
|
|
|
|
|
| |
Пост N: 6
Зарегистрирован: 25.02.10
|
|
Отправлено: 09.07.10 18:41. Заголовок: Андрей, Паша, спасиб..
Андрей, Паша, спасибо шо откликнулись, но у меня бухи исчезают с работы очень быстро Пока переписывался стукнуло 5 часов и всё, двери закрываются. Не дали времени скинуть на флешку проект. До понедельника...
|
|
|
|
| |
Пост N: 7
Зарегистрирован: 25.02.10
|
|
Отправлено: 12.07.10 08:42. Заголовок: Pasha пишет: Если э..
Pasha пишет: цитата: | Если это не гуевая программа, то в начале вставьте 2 строки: REQUEST HB_GT_WIN REQUEST HB_GT_WIN_DEFAULT |
| Вставил, линкер дает ошибки: Error: Unresolved external '_HB_FUN_HB_GT_WIN' referenced from D:\XMATE\PROJECT\Z1_HB\OBJ\MAIN.OBJ Error: Unresolved external '_HB_FUN_HB_GT_WIN_DEFAULT' referenced from D:\XMATE\PROJECT\Z1_HB\OBJ\MAIN.OBJ
|
|
|
|
| Администратор
|
Пост N: 1577
Зарегистрирован: 23.05.05
|
|
Отправлено: 12.07.10 09:00. Заголовок: СевДон пишет: Встав..
СевДон пишет: цитата: | Вставил, линкер дает ошибки: Error: Unresolved external '_HB_FUN_HB_GT_WIN' referenced from D:\XMATE\PROJECT\Z1_HB\OBJ\MAIN.OBJ Error: Unresolved external '_HB_FUN_HB_GT_WIN_DEFAULT' referenced from D:\XMATE\PROJECT\Z1_HB\OBJ\MAIN.OBJ |
| Необходимо линкеру указать библиотеку gtwin.lib
|
|
|
|
| |
Пост N: 8
Зарегистрирован: 25.02.10
|
|
Отправлено: 12.07.10 10:29. Заголовок: линкер пропустил но ..
линкер пропустил но прога всё равно вешается как запустить прогу под отладчиком?
|
|
|
|
| постоянный участник
|
Пост N: 1419
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.07.10 13:57. Заголовок: СевДон пишет: линке..
СевДон пишет: цитата: | линкер пропустил но прога всё равно вешается |
| Сделай сначала маленькую тестовую программу ! Если не пойдет тест, то высылай проект, подскажу что и как ! А так ОЧЕНЬ тяжело понять что у тебя установлено ! И будешь сам очень долго биться впустую....
|
|
|
|
| |
Пост N: 9
Зарегистрирован: 25.02.10
|
|
Отправлено: 12.07.10 14:58. Заголовок: 1. прога где юзаются..
1. прога где юзаются дбфки и идет сброс в текстовый файл нормально отработала. 2. с простым Getом уже не взлетает (даже если ставлю inkey(0) перед очисткой экрана -- не останавливает!): REQUEST HB_GT_WIN REQUEST HB_GT_WIN_DEFAULT func main local dDate:=ctod(''),GetList:={} cls setcolor('W+/N,W+/R') ; dispbox(10,21,13,53,1) ; setcursor(1) set date german ; set cent on @ 12,24 say "Искомая дата :" get dDate read ; setcursor(0) ; cls if lastkey() == 27 retu nil endif ? 'Happy End !' inkey(0) retu nil прога не видна ни в списке приложений ни на панели задач а тока в списке процессов
|
|
|
|
| постоянный участник
|
Пост N: 407
Зарегистрирован: 27.01.07
|
|
Отправлено: 12.07.10 15:26. Заголовок: Опубликуйте батник (..
Опубликуйте батник (или скрипт), которым собирается программа. Если собираете с помощью батника от MiniGUI, то в нем (если я не ошибаюсь) есть ключ /C, с помощью которого создается консольная (не GUI) прога.
|
|
|
|
| |
Пост N: 10
Зарегистрирован: 25.02.10
|
|
Отправлено: 12.07.10 16:24. Заголовок: Я пробую работать че..
Я пробую работать через xMate. Батник с ключем /С сработал, окошко с Getом появилось. Попытался разобраться в чём разница: вот шо в батнике зашито линкёру для этого ключа rem Link for console or mixed mode EXE if %MV_ERRFILE%==N %MG_BCC%\bin\ilink32 -x -Gn -Tpe -ap -L%MG_BCC%\lib; @_temp.rsp а вот шо у хМате прописано как команда линкёру: %C_BIN_INSTALL%\iLink32.Exe -aa -Tpe /I%DBGDIR% /L%HB_LIB_INSTALL% @%LNK% к сожалению образование не позволяет уловить разницу и правильно поправить хМате (попытка сходу подставить ключи как в батнике "-x -Gn -Tpe -ap" привело к выводу чистого окна и усё)
|
|
|
|
| постоянный участник
|
Пост N: 1420
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.07.10 17:37. Заголовок: СевДон пишет: Качну..
СевДон пишет: цитата: | Качнул 85-й релиз MiniGUI + xMate. |
| Судя по тестовой программе, нужно ее собирать в консольном варианте ! Это легче сделать без xMate ! Если хотите собирать под xMate то нужно править профиль типа xHbBccConsole121.Env - там сборка под консольное приложение для хХарбора ! Нужно переделать для Харбора ! Вы не различаете пока что при сборки проекта существуют: 1) консольное приложение и 2) GUI (гуевое) приложение !!! Как переделать профиль под Харбор 2.0 просите TimTim'a в ветке http://clipper.borda.ru/?1-4-0-00000305-000-0-0-1277454989<\/u><\/a>
|
|
|
Ответов - 29
, стр:
1
2
All
[только новые]
|
|