Автор | Сообщение |
|
| постоянный участник
|
Пост N: 6492
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.10.19 20:00. Заголовок: Переход с BCC 5.5 на BCC 5.8 и BCC 7.30
Что то непонятки пошли в новом компиляторе. Собираю часть проекта и линкую основную библиотеку. Выдаёт теперь ошибку сборки, а как исправить не знаю: Turbo Incremental Link 5.69 Copyright (c) 1997-2005 Borland Error: Unresolved external 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::__nullref' referenced from D:\TEMP\TEST\TBRW_TABLE2.LIB|overlay Error: Unresolved external 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::__getRep(unsigned int, unsigned int)' referenced from D:\TEMP\TEST\TBRW_TABLE2.LIB|overlay Error: Unresolved external '__rwstd::__rw_stdexcept_BadAllocException' referenced from D:\TEMP\TEST\TBRW_TABLE2.LIB|overlay Error: Unresolved external '__rwstd::__rw_stdexcept_NoNamedException' referenced from D:\TEMP\TEST\TBRW_TABLE2.LIB|overlay Error: Unresolved external '__rwstd::rwse_OutOfRange' referenced from D:\TEMP\TEST\TBRW_TABLE2.LIB|overlay Error: Unresolved external '__rwstd::except_msg_string::except_msg_string(const char *, ...)' referenced from D:\TEMP\TEST\TBRW_TABLE2.LIB|overlay Error: Unresolved external 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char, std::char_traits<char>, std::allocator<char> >(const char *, const std::allocator<char>&)' referenced from D:\TEMP\TEST\TBRW_TABLE2.LIB|overlay hbmk2[form_Zaivka]: Error: Running linker. 2 Файл overlay.cpp в библиотеке Tbrw_Table2.lib прекрасно работал под BCC 5.51 А в 5.8 что-то конфликтует... Как быть ?
|
|
|
Ответов - 91
, стр:
1
2
3
4
5
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 7237
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.03.22 09:59. Заголовок: Andrey пишет: Собра..
Andrey пишет: цитата: | Собрал свой большой проект BCC 5.8 - иконки (большая часть) перепутаны... Финиш.... На кнопках совершенно другие иконки, блин почему ? BCC 5.5 собирал нормально, если были дубликаты, то дубликаты отбрасывал. Блин... Опять хирургическая правка... У меня ресурсных файлов на 12 Мб - заново их разгребать нужно... |
| Это писал ещё 26.10.19. Дошли руки до картинок - разгрёб двойные ссылки на ресурсы, ошибок нет. Думал что теперь BCC 5.8 нормально будет показывать иконки... Фиг-вам Опять ерунда, иконки другие вместо нужных. Как исправить данную проблему ? P.S. Кол-во файлов *.rc - 37 штук, объём картинок в ресурсах примерно 19 Мбайт
|
|
|
|
| постоянный участник
|
Пост N: 7394
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.06.23 12:58. Заголовок: Кол-во файлов *.rc -..
Кол-во файлов *.rc - 37 штук, объём картинок в ресурсах примерно 19 Мбайт Пробую собрать ехе-ник с помощью BCC 5.8 уже на главном меню вместо нужных иконок - показываются другие. Это как то лечится ? Как исправить данную проблему ? Есть более современный и бесплатный компилятор BCC 7.30 (32-bit), можно оттуда взять линковщик ? На сайте xHarbour Required tools for Windows есть же Embarcadero 32-bit BCC 7.40 Compiler (Evaluation Only!) Embarcadero 64-bit BCC 7.30 Compiler (Evaluation Only!) А какая лицензия на BCC 7.40 ? https://www.embarcadero.com/ru/free-tools/ccompiler Не совсем понятно - на сайте пишут Бесплатный компилятор C++ Лицензия на коммерческое использование - Один пользователь ???? Один пользователь на использование моей программы ? Или по другому трактуется ?
|
|
|
|
| постоянный участник
|
Пост N: 1644
Зарегистрирован: 27.01.07
|
|
Отправлено: 05.06.23 16:07. Заголовок: Andrey пишет: Лицен..
Andrey пишет: цитата: | Лицензия на коммерческое использование - Один пользователь ???? Один пользователь на использование моей программы ? Или по другому трактуется ? |
| Да пох! Параллельный импорт!))
|
|
|
|
| |
Пост N: 1935
Зарегистрирован: 20.02.11
|
|
Отправлено: 05.06.23 17:15. Заголовок: Во всех версиях компилятор ресурсов 1 и тот же.
На сколько я помню во всех версиях компилятор ресурсов 1 и тот же Скорее всего, проблема именно в нем. Рекомендую. Заменить brc на другой.
|
|
|
|
| moderator
|
Пост N: 2139
Зарегистрирован: 11.02.10
|
|
Отправлено: 05.06.23 18:28. Заголовок: Andrey пишет: Один ..
Andrey пишет: цитата: | Один пользователь на использование моей программы ? |
| Пользователь в данном контексте означает разработчик программы (т.е. можно свободно использовать компилятор одним разработчиком). Вот его определение в файле лицензии: (c) "Customer" means the person installing or using the Licensed Material or for whose benefit the Licensed Material is being installed or used.
|
|
|
|
| постоянный участник
|
Пост N: 7395
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.06.23 20:12. Заголовок: gfilatov2002 пишет: ..
PSP пишет: цитата: | Да пох! Параллельный импорт!)) |
| gfilatov2002 пишет: цитата: | (т.е. можно свободно использовать компилятор одним разработчиком). |
| Тогда это классно ! Какое решение будет по переходу МиниГуи на новый компилятор ? Когда ждать то ?
|
|
|
|
| moderator
|
Пост N: 2140
Зарегистрирован: 11.02.10
|
|
Отправлено: 05.06.23 21:16. Заголовок: Andrey пишет: Какое..
Andrey пишет: цитата: | Какое решение будет по переходу МиниГуи на новый компилятор ? |
| Если будет интерес и поддержка такого перехода от пользователей библиотеки, то хоть завтра Ниже приведено содержание готового sfx архива с избранными (не всеми) примерами: ------------------------------------------------------------- Minigui Ex Package (build date: 28.05.2023) ------------------------------------------------------------- Components versions: -------------------- Harbour MiniGUI Extended Edition 23.04 (Update 2) Harbour 3.2.0dev (r2305191429) Harbour Make (hbmk2) 3.2.0dev (r2023-05-19 14:29) Embarcadero C++ 7.30 for Win32 Copyright (c) 2012-2017 Embarcadero Technologies, Inc.
|
|
|
|
| постоянный участник
|
Пост N: 7396
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.06.23 21:51. Заголовок: Народ, отзовитесь ! ..
Народ, отзовитесь ! Кому интересен переход на Embarcadero C++ 7.30 ?
|
|
|
|
| |
Пост N: 1936
Зарегистрирован: 20.02.11
|
|
Отправлено: 06.06.23 09:51. Заголовок: Andrey пишет: Народ..
Andrey пишет: цитата: | Народ, отзовитесь ! Кому интересен переход на |
| Потенциально интересен, но пока не понимаю что это дает кроме циферек. Как показывает практика, новые циферки не только решают часть старых проблем, но часто приносят новые.
|
|
|
|
| moderator
|
Пост N: 2141
Зарегистрирован: 11.02.10
|
|
Отправлено: 06.06.23 10:46. Заголовок: Haz пишет: пока не ..
Haz пишет: цитата: | пока не понимаю что это дает |
| Согласен, поэтому и не торопился с обновлением, но время то идет... Кстати, есть один нюанс: вам НЕ удастся собрать Харбор для этого компилятора стандартным образом из-за проблем с библиотекой кодировки. Поэтому я применяю специальный режим сборки, а затем пересобираю утилиту hbmk2 с использованием исправленной библиотеки кодировки.
|
|
|
|
| постоянный участник
|
Пост N: 7397
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.06.23 11:02. Заголовок: Haz пишет: Потенциа..
Haz пишет: цитата: | Потенциально интересен, но пока не понимаю что это дает кроме циферек. |
| Одну проблему решает. Заменил в BCC 5.8 всё кроме bcc32.exe brc32.exe brcc32.exe cpp32.exe Т.е. записал новые версии Embarcadero Implib Version 3.4.0 Copyright (c) 1991-2016 Embarcadero Technologies, Inc. Turbo Incremental Link 6.90 Copyright (c) 1997-2017 Embarcadero Technologies, Inc. И о чудо... Иконки на кнопках правильные !!!
|
|
|
|
|
| постоянный участник
|
Пост N: 7398
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.06.23 11:13. Заголовок: Вторая проблема. Гри..
Вторая проблема. Григорий, что мне делать ? Прога собирается на версии 23.04 (Update 2) с родным BCC 5.8 Compiler: Borland C++ 5.8.2 (32-bit) Харбор - Version: 3.2.0dev (r2305191429) - родной Built on: May 20 2023 Last ChangeLog entry: 2023-05-19 16:29 UTC+0200 Przemyslaw Czerpak ChangeLog ID: bed7485bc7df1a6d7545e867dc332269d1f75d85 Вылет идёт сразу при старте программы !!! Time from start: 0 days 0 hours 0 mins 1 secs Error BASE/1004 Message not found: TWNDDATA:EVENT Args: [1] = O TWNDDATA --------------------------------- Stack Trace --------------------------------- Called from __ERRRT_SBASE(0) Called from TWNDDATA:ERROR(0) Called from (b)HBOBJECT(0) Called from TWNDDATA:MSGNOTFOUND(0) Called from TWNDDATA:EVENT(0) Called from MAIN(181) in module: Source\main.prg ----------------------------- System Information ------------------------------ Available memory...: 9179 MB Current disk.......: W Free disk space....: 860383 MB Operating system...: Windows 10 10.0 MiniGUI version....: Harbour MiniGUI Extended Edition 23.04.2 (32-bit) ANSI Harbour version....: Harbour 3.2.0dev (r2305191429) Harbour built on...: May 20 2023 10:05:07 C/C++ compiler.....: Borland C++ 5.8.2 (32-bit) Multi Threading....: YES VM Optimization....: YES Если прогу собираею на версии 23.04 (Update 2) с родным BCC 5.8 Compiler: Borland C++ 5.8.2 (32-bit) Харбор - Version: 3.2.0dev (r2301231146) - взял с версии минигуи от 23.01 (Release) Built on: Jan 23 2023 Last ChangeLog entry: 2023-01-23 12:46 UTC+0100 Przemyslaw Czerpak ChangeLog ID: a6a86c100291b3ed33a2a0a680f0e5a17d627ce0 Вылета из программы НЕТ, работает отлично !!! Строка кода где вылетает вообще НЕПОНЯТКА ! WITH OBJECT This.Object ..... //!!! общее событие для вызова из других программ :Event(111, {|ow,ky,cdata| cdata := hb_defaultValue(cdata, "") _logfile(.t.,"----[ Событие 111 ]--- " + ProcNL() ) _logfile(.t.," ow=",ow,"xPar=",ky,"cdata=",cdata ) _logfile(.t.," ow:Name",ow:Name,"ow:Handle",ow:Handle ) OnWmCopyData(cData) Return Nil }) строка 181 ....
|
|
|
|
| постоянный участник
|
Пост N: 4284
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.06.23 15:52. Заголовок: Andrey Попробуй без..
Andrey Попробуй без конструкции WITH ... END WITH, т.е. все :Event(...) через переменную o := This.Object ... o:Event(...) ... o:Event(111, {|ow,ky,cdata| cdata := hb_defaultValue(cdata, "") _logfile(.t.,"----[ Событие 111 ]--- " + ProcNL() ) _logfile(.t.," ow=",ow,"xPar=",ky,"cdata=",cdata ) _logfile(.t.," ow:Name",ow:Name,"ow:Handle",ow:Handle ) OnWmCopyData(cData) Return Nil }) ...
|
|
|
|
| постоянный участник
|
Пост N: 7399
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.06.23 16:19. Заголовок: SergKis пишет: Попр..
SergKis пишет: цитата: | Попробуй без конструкции WITH ... END WITH, т.е. все :Event(...) через переменную |
| Нет, так же падает прога...
|
|
|
|
| постоянный участник
|
Пост N: 4285
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.06.23 16:29. Заголовок: Andrey пишет Попроб..
Andrey пишет [quote]` Попробуй ф-ю, перед строкой снятия, из примера, для объекта переменной o (TWNDDATA) Скрытый текст
////////////////////////////////////////////////////////////////////////////////// FUNCTION myDebugVar(oWnd,ky,xv) // variable output LOCAL cLog, cObj, cMsg, o, a, ob, nI, nJ, a2Dim, aName, aData, nPost := ky LOCAL aTmp, cTmp, xTmp, lTmp cObj := UPPER(xv) IF cObj == "BUTTON_1" cLog := GetStartUpFolder() + "\_msg.App-Cargo.log" DELETEFILE(cLog) _SetGetLogFile( cLog ) // new log file output name cMsg := " App.Cargo:" ? ProcNL(), "oWnd:Name =", oWnd:Name, oWnd,ky,xv ? " Объект App.Cargo доступен всегда в любом месте программы" ? " The App.Cargo object is always available anywhere in the program" o := App.Cargo ELSE cLog := GetStartUpFolder() + "\_msg.oWnd-Cargo.log" DELETEFILE(cLog) _SetGetLogFile( cLog ) // new log file output name cMsg := " oWnd:Cargo:" ? ProcNL(), "oWnd:Name =", oWnd:Name, oWnd,ky,xv ? " Объект окна доступен через переменную oWnd в функции или через App.Cargo:oWindow" ? " В данном случае App.Cargo:oWindow это главное окно этой программы" ? " The window object is available through the oWnd variable in the function or through App.Cargo:oWindow" ? " In this case, App.Cargo:oWindow is the main window of this program" o := oWnd:Cargo // we take data from the button that we put earlier ENDIF ? Repl("-",LINE_FILL) a2Dim := o:GetAll() // get an array with a key /*FOR nI := 1 TO Len(a2Dim) // this is a list of ALL keys and their values ? cMsg, nI, "Key =", a2Dim[nI][1], "Val =" IF VALTYPE(a2Dim[nI][2]) == "A" ?? HB_ValToExp(a2Dim[nI][2]) ELSEIF VALTYPE(a2Dim[nI][2]) == "C" ?? AtRepl( CRLF, a2Dim[nI][2], " | " ) ELSE ?? a2Dim[nI][2] ENDIF NEXT */ FOR EACH a IN a2Dim nI := hb_EnumIndex( a ) ? cMsg, nI, "Key =", a[1], "Val =" IF hb_IsArray(a[2]) IF Len(a[2]) > 0 .and. hb_IsArray(a[2][1]) ?? a[2] , " = {" FOR nJ := 1 TO LEN(a[2]) ?? HB_ValToExp(a[2][nJ]) + IIF( nJ==LEN(a[2]), "", "," ) NEXT ?? "}" ELSE ?? HB_ValToExp(a[2]) ENDIF ELSEIF hb_IsChar(a[2]) ?? AtRepl( CRLF, a[2], " | " ) ELSEIF hb_IsObject(a[2]) ob := a[2] ?? ob ?? ob:ClassName IF ob:ClassName $ "THMGDATA,TKEYDATA,TTHRDATA" // контейнеры ?? ob:GetAll() ; ?v ob:GetAll() ; ? ELSEIF ob:ClassName == "TSBROWSE" ?? ob:cParentWnd, ob:cControlName, ob:cAlias, ob:nLen aName := __objGetMethodList( ob ) //? HB_ValToExp(aName) ELSEIF ob:ClassName $ "TCNLDATA,TGETDATA,TSTBDATA,TTSBDATA" // контролы ?? ob:Name, ob:Type, ob:Index, ob:Handle ELSEIF ob:ClassName $ "TINIDATA" // ini file // см. примеры там вывод секций и их переменных ?? ob:cIni, ob:lIni, ob:lUtf8 ELSEIF ob:ClassName $ "TWNDDATA" // окно формы ?? ob:Name ?? ob:GETLISTTYPE() , HB_ValToExp( ob:GETLISTTYPE() ) ?? ob:CLIENTWIDTH, ob:CLIENTHEIGHT ? space(5) + "VARIABLE:" aName := __objGetMsgList( ob, .T., 2 ) aTmp := {} FOR nJ := 1 TO LEN(aName) ? SPACE(5) + ob:Name + ":" + a[1], Hb_NtoS(nJ), aName[nJ] lTmp := .F. cTmp := aName[nJ] xTmp := "protected" BEGIN SEQUENCE WITH {|e| break( e ) } xTmp := __objSendMsg( ob, cTmp ) lTmp := .T. END SEQUENCE IF lTmp // доступ есть AAdd(aTmp, {cTmp, xTmp}) ENDIF ?? "=", xTmp NEXT ? ? space(5) + "METHOD:" aName := __objGetMsgList( ob, .F. ) FOR nJ := 1 TO LEN(aName) ? SPACE(5) + ob:Name + ":" + a[1], Hb_NtoS(nJ), aName[nJ] NEXT //? //? space(5) + "!!! aVariable =", hb_valtoexp(aTmp) ? ? space(5) + "*** aVariable : {" FOR nI := 1 TO LEN(aTmp) ? " >", nI, aTmp[nI][1]+" =", HB_ValToExp(aTmp[nI][2]) NEXT ? " }" ? ELSE // TWNDDATA 'O' - окно формы // здесь только ф-ями про объекты из "Harbour для начинающих" на сайте А.Кресина aName := __objGetMethodList( ob ) //aData := __objGetValueList( ob, [aExcept] ) //aData := __objGetValueList( ob ) ? HB_ValToExp(aName) ? HB_ValToExp(aData) ? ob:CLIENTWIDTH, ob:CLIENTHEIGHT ? ob:GETLISTTYPE() ; ?v ob:GETLISTTYPE() ENDIF ELSE ?? a[2] ENDIF NEXT ? "..." cMsg := HB_MemoRead(cLog) AlertInfo(cMsg, "log file - " + cLog ) _SetGetLogFile( App.Cargo:cLog ) // вернём главное имя вывода лог-файла RETURN NIL
| убери AlertInfo и может модифицируй под ситуацию
|
|
|
|
| постоянный участник
|
Пост N: 7400
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.06.23 16:47. Заголовок: Сделал так: o ..
Сделал так: o := This.Object myDebugVar(o,"ky","xv") Лог положил к тебе...
|
|
|
|
| постоянный участник
|
Пост N: 4286
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.06.23 17:00. Заголовок: Andrey пишет Сделал ..
Andrey пишет цитата: | Сделал так: o := This.Object myDebugVar(o,"ky","xv") |
| Добавь o := This.Object This.Cargo := o myDebugVar(o,"ky","xv") т.к. This.Cargo у тебя не определен (Cargo окна) и валится на o := oWnd:Cargo // we take data from the button that we put earlier ? Repl("-",90) a2Dim := o:GetAll() // get an array with a key
|
|
|
|
| постоянный участник
|
Пост N: 4287
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.06.23 17:21. Заголовок: Andrey Был не прав,..
Andrey Был не прав, поторопился, надо не This.Cargo := o, а This.Cargo := oHmgData() This.Cargo:oMain := o
|
|
|
|
| постоянный участник
|
Пост N: 7414
Зарегистрирован: 12.09.06
|
|
Отправлено: 13.06.23 13:02. Заголовок: Developed in : Harbo..
Developed in : Harbour MiniGUI Extended Edition 23.04.3 (32-bit) ANSI xBase Compiler: Harbour 3.2.0dev (r2305191429) C Compiler: LLVM/Clang C 3.3.1 (36350.30c6854.779bede) (32-bit) Григорий, а почему такое странное наименование компилятора ? А где название Embarcadero C++ 7.30 ? Пока только победил сборку своего проекта.... Иконки все на месте, прога запускается сразу без сбоев. На на версии 23.04 (Update 2) с родным BCC 5.8 Compiler: Borland C++ 5.8.2 (32-bit) Харбор - Version: 3.2.0dev (r2305191429) - родной Вылет идёт сразу при старте программы !!! И ещё вот это непонятно при сборке: C:\BCC102\Include\windows\sdk\imm.h:217:9: warning: unknown pragma ignored [-Wunknown-pragmas] #pragma endregion ^ C:\BCC102\Include\windows\sdk\imm.h:225:9: warning: unknown pragma ignored [-Wunknown-pragmas] #pragma region Desktop Family ^ C:\BCC102\Include\windows\sdk\imm.h:434:9: warning: unknown pragma ignored [-Wunknown-pragmas] #pragma endregion ^ In file included from Source\overlay.cpp:8: C:\BCC102\Include\windows\sdk\windows.h:310:9: warning: unknown pragma ignored [-Wunknown-pragmas] #pragma endregion ^ 1734 warnings generated. Turbo Incremental Link 6.90 Copyright (c) 1997-2017 Embarcadero Technologies, Inc.
|
|
|
|
| moderator
|
Пост N: 2154
Зарегистрирован: 11.02.10
|
|
Отправлено: 13.06.23 14:47. Заголовок: Andrey пишет: почем..
Andrey пишет: цитата: | почему такое странное наименование компилятора ? А где название Embarcadero C++ 7.30 ? |
| используй вместо функции hb_compiler() новую функцию hb_ Ccompiler()
|
|
|
Ответов - 91
, стр:
1
2
3
4
5
All
[только новые]
|
|