On-line: PSP, гостей 4. Всего: 5 [подробнее..]
АвторСообщение
постоянный участник




Пост 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 что-то конфликтует...
Как быть ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 91 , стр: 1 2 3 4 5 All [только новые]


постоянный участник




Пост N: 6493
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.10.19 20:08. Заголовок: Файл error.log невоз..


Файл error.log невозможно скопировать на форум, если в путях используются русские буквы.
Там в имени файла идут сразу кракозябы....
Как от этого избавиться ?

Для MSVC ставил в батник так:
 
@echo off
chcp 65001
echo ------- Assembly MSVC 2017 for 32 bits ---------
call "D:\Program Files\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
....


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


Пост N: 1567
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 26.10.19 20:29. Заголовок: Andrey пишет: Файл ..


Andrey пишет:

 цитата:
Файл error.log невозможно скопировать на форум, если в путях используются русские буквы.
Там в имени файла идут сразу кракозябы....
Как от этого избавиться ?


И чё, проводник или Far не может открыть эту папку? Уверен?

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




Пост N: 6494
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.10.19 21:38. Заголовок: PSP пишет: И чё, пр..


PSP пишет:

 цитата:
И чё, проводник или Far не может открыть эту папку? Уверен?


Фар открывает, а вот в error.log - сплошные кракозябы !
Вот так это выглядит:


Как сделать чтобы вместо кракозяб были русские буквы ?
Думаю если сделать другие языки - тоже будут кракозябы...

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




Пост N: 6495
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.10.19 22:12. Заголовок: Собрал свой большой ..


Собрал свой большой проект - иконки (большая часть) перепутаны... Финиш....
На кнопках совершенно другие иконки, блин почему ?
BCC 5.5 собирал нормально, если были дубликаты, то дубликаты отбрасывал.
Блин... Опять хирургическая правка...
У меня ресурсных файлов на 12 Мб - заново их разгребать нужно...

Взял в последней версии МиниГуи поменял везде путь MG_BCC=c:\Bcc58 на MG_BCC=c:\Bcc55
Проги собираются нормально, иконки показываются правильно.
Единственно когда запрашиваешь компилятор, то показывает:
Harbour 3.2.0dev (r1909261630)
Borland C++ 5.8.2 (32-bit)
Harbour MiniGUI Extended Edition 19.10 (32-bit)


Блин, остаюсь пока на BCC 5.5.1
И с лицензией проблема у меня будет тоже.
Григорий - оставь библиотеки под BCC 5.5.1 , а кто хочет, пускай на другом работает.

Хотя на хХарборе на сайте тоже выложен сейчас 5.8.2
http://www.xharbour.org/index.asp?page=download/windows/required_win

А вообще то лучше перейти на MICROSOFT VISUAL STUDIO COMMUNITY 2017
там классная лицензия:
https://visualstudio.microsoft.com/ru/license-terms/mlt553321/?rr=https%3A%2F%2Fwww.google.com.sg%2F

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




Пост N: 7133
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 26.10.19 23:02. Заголовок: Andrey пишет: Взял..


Andrey пишет:

 цитата:

Взял в последней версии МиниГуи поменял везде путь MG_BCC=c:\Bcc58 на MG_BCC=c:\Bcc55


Чуйка у меня что версия 58 какая то кривая и взята не понятно где , сборщик ресурсов при запуске
выдает такую же версию как в 55
Andrey пишет:

 цитата:
Блин, остаюсь пока на BCC 5.5.1


Тоже поправлю "дороги"

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


Пост N: 833
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 27.10.19 09:20. Заголовок: Пресобрал с использо..


Пресобрал с использованием IDE несколько программ на новой версии компилятора . Вроде всЁ работает.
В одной программе появилась ошибка в строке

 цитата:
SetProperty("DISP_Edit","Cmb_GRYP_SDOR","DisPlayEdit",.f.)



Программу не пересобирал с февраля с.г., может ошибка и не связано с Борланд 58, а с изменениями внесенными в Харбоур.

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




Пост N: 7134
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 27.10.19 14:21. Заголовок: Andrey пишет: А воо..


Andrey пишет:

 цитата:
А вообще то лучше перейти на MICROSOFT VISUAL STUDIO COMMUNITY 2017


А там не придется таскать с собой в чумадане доп. DLL от M$ ?

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




Пост N: 6496
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.10.19 15:57. Заголовок: Dima пишет: А там н..


Dima пишет:

 цитата:
А там не придется таскать с собой в чумадане доп. DLL от M$ ?


Нет.
Я уже пробовал собирать Tsb_composite-vc17.exe на MSVC (это навороченный бровс, см. у Григория на сайте)
Один ехе-ник и всё. Размер примерно одинаков, как и для BCC.

Есть мост МиниГуи и C# для MSVC.
BCC не поддерживается, так как С-компилятор старый и не по стандарту Си сделан.

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




Пост N: 6500
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.10.19 13:41. Заголовок: Фигня какая то получ..


Фигня какая то получается...
Собрал свой проект на сборку 19.10 (Update 1) только на BCC 5.5.1
У юзеров перестала открываться карточка.
Прога тупо виснет и всё помогает только "снятие задачи" через Диспетчер задач.
Вернул проект на предыдущую сборку, карточка открывается...
Free Open Source Software: Harbour 3.2.0dev (r1904111533)	 
Free Compiler: Borland C++ 5.5.1 (32-bit)
Free Gui library: Harbour MiniGUI Extended Edition 19.08 (32-bit)

Беда что-то с BCC 5.8.2.
Сборка проекта на BCC 5.8.2 идёт нормально только все иконки у меня в проекте перепутаны !!!
Разбираться с этим нет времени, остаюсь на старом BCC 5.5.1.
Можно ли получить либы МиниГуи на BCC 5.5.1 ?

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




Пост N: 6501
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.10.19 15:14. Заголовок: Что то макрос для ба..


Что то макрос для базы в новом МиниГуи ( поставил последний 19.10 Update 2 )
перестал работать...
Т.е. есть такое выражение
cYear := HB_NtoS( YEAR((cAlias)->DateNach) )
cRet := cYear+'г. : ' + (cAlias)->&cPole

Если (cAlias)->DateNach == CTOD("")
то карточка вешается.
В предыдущем Харборе это работало, возвращало " 0г. : "
Вывод был через:
      // Простая обработка ошибок 
bErrHandler := ERRORBLOCK( { | VAR | BREAK( VAR ) } )
BEGIN SEQUENCE
// вывод LABEL
RECOVER
MG_Stop( cMsg , "ОШИБКА!" )
END SEQUENCE
ERRORBLOCK( bErrHandler )


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




Пост N: 1617
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.10.19 15:35. Заголовок: Andrey пишет: Можно..


Andrey пишет:

 цитата:
Можно ли получить либы МиниГуи на BCC 5.5.1 ?


Лови
http://hmgextended.com/files/MISC/minigui-bcc55.zip


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




Пост N: 6502
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.10.19 17:55. Заголовок: Спасибо БОЛЬШОЕ ! :..


Спасибо БОЛЬШОЕ !

Вопрос такой возник.
Я пере собрал minigui.lib через C:\MiniGUI\SOURCE\BuildLib.bat
Потом пере собрал BuildLib.bat через C:\MiniGUI\SOURCE\TsBrowse\BuildLib.bat

Скомпилировал заново (удалил все OBJ) свой проект, но все равно в проекте выдаёт:
Borland C++ 5.8.2 (32-bit)	

Почему ? Что ещё нужно пере собрать ?

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




Пост N: 1618
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.10.19 18:09. Заголовок: Andrey пишет: Что е..


Andrey пишет:

 цитата:
Что ещё нужно пере собрать ?


Ничего
Просто используй Харбор из предыдущей сборки 19.08

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




Пост N: 6503
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.10.19 18:11. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Просто используй Харбор из предыдущей сборки 19.08


Там нет новых функций для примера MiniGUI\SAMPLES\BASIC\ButtonEx_DynamicMenu

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




Пост N: 6504
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.10.19 15:12. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Лови
http://hmgextended.com/files/MISC/minigui-bcc55.zip



Установил эти либы.
Скомпилировал заново (удалил все OBJ) свой проект, но все равно в проекте выдаёт:
Borland C++ 5.8.2 (32-bit)	


Почему так ?

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




Пост N: 1619
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 31.10.19 22:01. Заголовок: Andrey пишет: Почем..


Andrey пишет:

 цитата:
Почему так


Потому, что используемый для сборки программы Харбор был собран с помощью BCC 5.8.2

Как исправить, я уже написал выше:
gfilatov2002 пишет:

 цитата:
Просто используй Харбор из предыдущей сборки 19.08



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




Пост N: 6505
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.10.19 22:56. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Как исправить, я уже написал выше:


Блин, не понял с первого раза.... Извиняюсь. Спасибо !

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



Пост N: 83
Зарегистрирован: 22.04.15
ссылка на сообщение  Отправлено: 09.11.19 10:55. Заголовок: В смысле ? Устанавли..


В смысле ?
Устанавливать hmg-19.10-setup.exe ? или пока на 19.08 посидеть

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




Пост N: 6511
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.11.19 13:03. Заголовок: Новичок пишет: Уста..


Новичок пишет:

 цитата:
Устанавливать hmg-19.10-setup.exe ? или пока на 19.08 посидеть


Решать нужно самому !

Andrey пишет:

 цитата:
Взял в последней версии МиниГуи поменял везде путь MG_BCC=c:\Bcc58 на MG_BCC=c:\Bcc55
Проги собираются нормально, иконки показываются правильно.



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




Пост N: 6512
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.11.19 19:04. Заголовок: Новичок пишет: Уста..


Новичок пишет:

 цитата:
Устанавливать hmg-19.10-setup.exe ? или пока на 19.08 посидеть



Забыл добавить.
Пример-заготовка (универсальная менюшка на многие задачи) - папка MiniGUI\SAMPLES\BASIC\ButtonEx_DynamicMenu
на версии 19.08 не соберётся....

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




Пост 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 Мбайт

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




Пост 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++
Лицензия на коммерческое использование - Один пользователь ????
Один пользователь на использование моей программы ?
Или по другому трактуется ?

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


Пост N: 1644
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 05.06.23 16:07. Заголовок: Andrey пишет: Лицен..


Andrey пишет:

 цитата:
Лицензия на коммерческое использование - Один пользователь ????
Один пользователь на использование моей программы ?
Или по другому трактуется ?


Да пох! Параллельный импорт!))

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




Пост N: 1935
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 05.06.23 17:15. Заголовок: Во всех версиях компилятор ресурсов 1 и тот же.


На сколько я помню во всех версиях компилятор ресурсов 1 и тот же
Скорее всего, проблема именно в нем. Рекомендую. Заменить brc на другой.

Спасибо: 0 
ПрофильЦитата Ответить
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.


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




Пост N: 7395
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.06.23 20:12. Заголовок: gfilatov2002 пишет: ..


PSP пишет:

 цитата:
Да пох! Параллельный импорт!))




gfilatov2002 пишет:

 цитата:
(т.е. можно свободно использовать компилятор одним разработчиком).


Тогда это классно !
Какое решение будет по переходу МиниГуи на новый компилятор ?
Когда ждать то ?

Спасибо: 0 
ПрофильЦитата Ответить
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.


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




Пост N: 7396
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.06.23 21:51. Заголовок: Народ, отзовитесь ! ..


Народ, отзовитесь !
Кому интересен переход на Embarcadero C++ 7.30 ?

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




Пост N: 1936
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 06.06.23 09:51. Заголовок: Andrey пишет: Народ..


Andrey пишет:

 цитата:
Народ, отзовитесь !
Кому интересен переход на


Потенциально интересен, но пока не понимаю что это дает кроме циферек. Как показывает практика, новые циферки не только решают часть старых проблем, но часто приносят новые.

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




Пост N: 2141
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 06.06.23 10:46. Заголовок: Haz пишет: пока не ..


Haz пишет:

 цитата:
пока не понимаю что это дает


Согласен, поэтому и не торопился с обновлением, но время то идет...
Кстати, есть один нюанс: вам НЕ удастся собрать Харбор для этого компилятора стандартным образом из-за проблем с библиотекой кодировки. Поэтому я применяю специальный режим сборки, а затем пересобираю утилиту hbmk2 с использованием исправленной библиотеки кодировки.

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




Пост 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.

И о чудо... Иконки на кнопках правильные !!!

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




Пост 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
....


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




Пост 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
})

...

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




Пост N: 7399
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.06.23 16:19. Заголовок: SergKis пишет: Попр..


SergKis пишет:

 цитата:
Попробуй без конструкции WITH ... END WITH, т.е. все :Event(...) через переменную


Нет, так же падает прога...

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




Пост N: 4285
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.06.23 16:29. Заголовок: Andrey пишет Попроб..


Andrey пишет [quote]`
Попробуй ф-ю, перед строкой снятия, из примера, для объекта переменной o (TWNDDATA) Скрытый текст

убери AlertInfo и может модифицируй под ситуацию

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




Пост N: 7400
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.06.23 16:47. Заголовок: Сделал так: o ..


Сделал так:
o := This.Object
myDebugVar(o,"ky","xv")
Лог положил к тебе...

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




Пост 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

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




Пост N: 4287
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.06.23 17:21. Заголовок: Andrey Был не прав,..


Andrey
Был не прав, поторопился, надо не This.Cargo := o, а
This.Cargo := oHmgData()
This.Cargo:oMain := o

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




Пост 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.


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




Пост N: 2154
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 13.06.23 14:47. Заголовок: Andrey пишет: почем..


Andrey пишет:

 цитата:
почему такое странное наименование компилятора ?
А где название Embarcadero C++ 7.30 ?


используй вместо функции hb_compiler() новую функцию hb_Ccompiler()

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




Пост N: 7767
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 13.06.23 16:34. Заголовок: Andrey MINGW не про..


Andrey
MINGW не пробовал ?

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




Пост N: 7415
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.06.23 18:12. Заголовок: Dima пишет: MINGW н..


Dima пишет:

 цитата:
MINGW не пробовал ?


Под него не было (может сейчас есть) библиотек и примеров средств защиты ключей HASP.
Получаемый ехе-ник собирается BCC и lib от HASP (сейчас это продукт фирмы Sentinel HL HASP Gemalto)
https://www.euromobile.ru/produkciya/aparatnje_kluchi_sentinel_hl_hasp-gemalto/
Есть ещё библиотеки от MS, но тоже пока руки не дошли.

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




Пост N: 7768
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 13.06.23 18:33. Заголовок: Да , я забыл что у т..


Да , я забыл что у тебя Hasp...

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




Пост N: 7416
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.06.23 18:43. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
используй вместо функции hb_compiler() новую функцию hb_Ccompiler()


А как предусмотреть использование этих разных функций для разных компиляторов BCC ?
IF version_BCC < ???? 
cVerBcc := hb_compiler()
ELSE
cVerBcc := hb_Ccompiler()
ENDIF


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




Пост N: 2156
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 13.06.23 18:52. Заголовок: Andrey пишет: как п..


Andrey пишет:

 цитата:
как предусмотреть использование этих разных функций для разных компиляторов BCC ?


Это - псевдо-функция, и она уже учитывает эту разницу

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




Пост N: 7769
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 13.06.23 18:54. Заголовок: New: Added the usefu..


New: Added the useful pseudo-function hb_Ccompiler() for more accurate
detection of the Borland/Embarcadero C++ compiler version.

Перевод
Добавлена ​​полезная псевдофункция hb_Ccompiler() для более точного
определение версии компилятора Borland/Embarcadero C++.

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




Пост N: 7770
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 13.06.23 18:54. Заголовок: gfilatov2002 Оперед..


gfilatov2002
Опередил ))

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




Пост N: 7417
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.06.23 10:41. Заголовок: Непонятки при сборке..


Непонятки при сборке вместе с готовой своей my.lib
Собрал my.lib новым компилятором, добавил в проект где использую.
Не собирается зараза, выдаёт вот такое...
..... 
OBJ\use_LetoDb.c:
OBJ\use_Postgres.c:
OBJ\InetState.c:
In file included from InetState.prg:162:
C:\BCC102\Include\windows\sdk\windows.h:42:9: warning: unknown pragma ignored [-Wunknown-pragmas]
#pragma region Application Family or OneCore Family
^
In file included from InetState.prg:162:
In file included from C:\BCC102\Include\windows\sdk\windows.h:199:
In file included from C:\BCC102\Include\windows\sdk\windef.h:25:
In file included from C:\BCC102\Include\windows\sdk\minwindef.h:15:
In file included from C:\BCC102\Include\windows\sdk\specstrings.h:62:
C:\BCC102\Include\windows\sdk\sal.h:718:9: warning: unknown pragma ignored [-Wunknown-pragmas]
#pragma region Input Buffer SAL 1 compatibility macros
^
C:\BCC102\Include\windows\sdk\sal.h:1482:9: warning: unknown pragma ignored [-Wunknown-pragmas]
#pragma endregion Input Buffer SAL 1 compatibility macros
^
In file included from InetState.prg:162:
In file included from C:\BCC102\Include\windows\sdk\windows.h:199:
In file included from C:\BCC102\Include\windows\sdk\windef.h:25:
C:\BCC102\Include\windows\sdk\minwindef.h:19:9: warning: unknown pragma ignored [-Wunknown-pragmas]
#pragma region Application Family or OneCore Family
^
In file included from InetState.prg:162:
... куча всего такого же и в конце вот это:
In file included from InetState.prg:162: 
C:\BCC102\Include\windows\sdk\windows.h:310:9: warning: unknown pragma ignored [-Wunknown-pragmas]
#pragma endregion
^
1761 warnings generated.
OBJ\IniGetSetConfig.c:
OBJ\table_f8dogExpSite.c:
OBJ\_hbmkaut_1main.c:
Turbo Incremental Link 6.90 Copyright (c) 1997-2017 Embarcadero Technologies, Inc.
Fatal: Unable to open file '???E.OBJ' кракозябы
hbmk2[2transfer_db]: Error: Running linker. 2

Модуль - InetState.prg:162: исправленный \SAMPLES\Advanced\INET_CHECKER\InetState.prg
 
#pragma BEGINDUMP

#include <windows.h> // строка 162
#include "hbapi.h"

/*****************************************************************************************
* MACRO DEFINITION FOR CALL DLL FUNCTION
******************************************************************************************/

Как быть ?

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




Пост N: 4305
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.06.23 11:02. Заголовок: Andrey пишет Собрал ..


Andrey пишет
 цитата:
Собрал my.lib новым компилятором, добавил в проект где использую.


Если бы наоборот, то может быть и зашло.
Я использовал lib собранную Bcc5.5 на hb 2.0 (лень переносить проект и отладку делать) в MiniGui с Bcc5.5 и с Bcc5.8 (hb из версии) - все ok!, правда использовал из lib только C ф-ии HB_FUNC (...)
PS
Lib из Bcc в сборках с msvc не использовал. Согласовывать тексты C из Bcc для msvc, для меня не подъемно, делал товарищ

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




Пост N: 4306
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.06.23 11:44. Заголовок: PS2 Попробуй в старо..


PS2
Попробуй в старом проекте выделить работу с каким то справочником (все собрано в одном prg, например) и получить hrb файл. В новом проекте подключить и запустить его работу. Hrb получать не ф-ей, а через hbmk2. Все внешние ф-ии подключи по REQUEST, какие то переведи в STATIC FUNCTION, даже если они будут дублироваться с др. STATIC FUNCTION в др. PRG

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




Пост N: 7418
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.06.23 11:05. Заголовок: Bcc5.5 и Bcc 5.8 и 7..


Bcc5.5 и Bcc 5.8 и 7.30 сильно отличаются.
OBJ собранные на 5.5/8 не собираются в 7.30
Да и между собой 5.5 и 5.8 не особо дружат...
Я всегда удаляю OBJ и собираю проект с чистого листа.

Методом тыка определил, что русские буквы в названии папок и файлов НЕ ДОПУСКАЮТСЯ если
в проект добавляешь свою библиотеку!
Если полностью исходники, то собирается и с русскими буквами.
Убрал русские буквы и мой проект собрался нормально.

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




Пост N: 7427
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.06.23 14:38. Заголовок: А как в коде програм..


А как в коде программы сделать проверку версий BCC ?
Чтобы можно код под разными BCC собирать.

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




Пост N: 2157
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 17.06.23 17:34. Заголовок: Andrey пишет: как в..


Andrey пишет:

 цитата:
как в коде программы сделать проверку версий BCC ?


Например, как в программе ниже использовать функцию BorlandVersion()

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


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




Пост N: 7428
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.06.23 17:56. Заголовок: Не совсем то... Но э..


Не совсем то...
Но это тоже нужно ! Спасибо !!!
Вот в коде нужно компилировать строки в зависимости от компилятора:
 
#define FR_PRIVATE 0x10
#define FR_NOT_ENUM 0x20

#include "minigui.ch"
#include "hbdyn.ch"
....
*-----------------------------------------------------------------------------*
// для ВСС 5.5
Function AddFont(cFontFile)
Return AddFontResourceEx( cFontFile, FR_PRIVATE+FR_NOT_ENUM, 0 )

Function RemoveFont(cFontFile)
Return RemoveFontResourceEx( cFontFile, FR_PRIVATE+FR_NOT_ENUM, 0 )

DECLARE DLL_TYPE_INT AddFontResourceEx ( DLL_TYPE_LPCTSTR lpszFilename, DLL_TYPE_DWORD flag, DLL_TYPE_LPVOID pdv ) IN GDI32.DLL
DECLARE DLL_TYPE_BOOL RemoveFontResourceEx ( DLL_TYPE_LPCTSTR lpFileName, DLL_TYPE_DWORD flag, DLL_TYPE_LPVOID pdv ) IN GDI32.DLL

*-----------------------------------------------------------------------------*
// ВСС 7.30 не поддерживает дополнительную библиотеку dll.lib
//Поэтому этот код должен быть переписан с использованием библиотеки calldll
Function AddFont(cFontFile)
Return HMG_CallDLL ("GDI32.DLL", HB_DYN_CTYPE_INT, "AddFontResourceEx", cFontFile, FR_PRIVATE+FR_NOT_ENUM, 0)

Function RemoveFont(cFontFile)
Return HMG_CallDLL ("GDI32.DLL", HB_DYN_CTYPE_BOOL, "RemoveFontResourceEx", cFontFile, FR_PRIVATE+FR_NOT_ENUM, 0)


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




Пост N: 7429
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.06.23 20:20. Заголовок: По тестировал новый ..


По тестировал новый компилятор BCC 7.30 с MiniGUI Extended Edition 23.01.0 (32-bit) ANSI
Всё в программе работает штатно, даже избавился от повисания программы (ошибка пропадания окна/то есть, то нет) !

Что понравилось:
1) Собирает ресурсы правильно (мои 20Мб картинок и иконок показывает в программе правильно)
2) Собранный ехе-ник работает шутрее чем на BCC 5.8 (индексация, создание объектов)
3) Быстрей собирается ехе-ник после правки одного-двух модулей, буквально собирается за несколько секунд.
у меня ехе-ник весит 26 мб

Какие недостатки - кракозябы в ошибках, вот экран:



Это можно как то исправить ?
Григорий, а пускай ошибки на английском ВСЕГДА пишутся. Это Будет лучше кракозябов !

Всё, остаюсь на новом BCC 7.30 ! Спасибо БОЛЬШОЕ Григорий !

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




Пост N: 2158
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 18.06.23 20:39. Заголовок: Andrey пишет: ошибк..


Andrey пишет:

 цитата:
ошибки на английском ВСЕГДА пишутся


Да, это возможно сделать.

Andrey пишет:

 цитата:
Спасибо БОЛЬШОЕ Григорий


Был рад помочь!


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



Пост N: 142
Зарегистрирован: 12.06.06
ссылка на сообщение  Отправлено: 19.06.23 07:53. Заголовок: Andrey пишет: Всё, ..


Andrey пишет:

 цитата:
Всё, остаюсь на новом BCC 7.30 !


Где его можно взять ?

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




Пост N: 7430
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.06.23 11:09. Заголовок: i3t4j6 пишет: Где е..


i3t4j6 пишет:

 цитата:
Где его можно взять ?


У Григория !

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




Пост N: 7431
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.06.23 17:47. Заголовок: Григорий, а как напи..


Григорий, а как написать правильно в ресурсном файле для BCC 7.30 ?
А то когда по ехе-нику свойство смотришь или в Менеджере задач, там кракозябы видны и нет по русскому имени программы.
До этого стояло у меня так:
 
...
VALUE "ProductName", "Моя программа\000"
VALUE "ProductVersion", "5.хх\000"
VALUE "Comments", "Создано Мною <xxxx@gmail.com>\000"
}
}

BLOCK "VarFileInfo"
{
VALUE "Translation", 0x0419 0x04E3
}


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




Пост N: 2159
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.06.23 18:57. Заголовок: Andrey пишет: нет п..


Andrey пишет:

 цитата:
нет по русскому имени программы


Для получения русских букв в имени программы надо заменить два файла в папке \BCC102\bin\ на аналогичные файлы из поставки ВСС 5.5:
- brcc32.exe
- rw32core.dll

Проверено - работает

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




Пост N: 7432
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.06.23 12:24. Заголовок: Спасибо ! :sm36:..


Спасибо !

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




Пост N: 7435
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.06.23 00:59. Заголовок: Что-то сбоит в новой..


Что-то сбоит в новой версии BCC 7.30 с MiniGUI Extended Edition 23.01.0
Вызываю окно MODAL (1), далее MODAL (2), далее MODAL (3).
Делаю закрытие MODAL (3) и попадаю сразу в MODAL (1) ....
Соответственно закрываю MODAL (1) и получаю ошибку - нет такой переменной на окне MODAL (2)
Конечно НЕТ - нарушена очередность возвращения окон.
Как это лечиться ?
В 5.8 этого не было !!!

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




Пост N: 7436
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.06.23 10:42. Заголовок: Блин, вообще беда с ..


Блин, вообще беда с окнами MODAL - теряются окна, нет правильного возврата из окон.
Во всей проге такая же фигня...

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




Пост N: 7482
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.07.23 16:02. Заголовок: Создаю новую пробную..


Создаю новую пробную сборку для своей проги.
Для тестирования и возврата работоспособности своей проги.
BCC 5.8 использовать не могу, иконки в проге другие становятся.
Как для Минигуи 22.12 (Update 2) добавить в исходники команду от MiniGUI 23.04.4
SET WINDOW MODAL PARENT HANDLE ON ?    

Ну и что там есть нужное и хорошее в 23.04.4 ?
Харбор последний с февраля тоже не могу взять к себе в проект - ехе-ник просто не запускается...

Пробовал поставить BCC 5.5 в MiniGUI-23.04.4 - не собирается, выдаёт ошибку компиляции:
Turbo Incremental Link 5.66 Copyright (c) 1997-2002 Borland 
Error: Unresolved external 'SwitchToThisWindow' referenced from C:\MINIGUI-23.04.4\LIB\MINIGUI.LIB|c_windowsAPI
hbmk2[Ab4winDebug]: Error: Running linker. 2

Это можно как то победить ?

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




Пост N: 4356
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.07.23 16:45. Заголовок: Andrey пишет Добавь..


Andrey пишет
 цитата:
Как для Минигуи 22.12 (Update 2) добавить в исходники команду от MiniGUI 23.04.4
SET WINDOW MODAL PARENT HANDLE ON


Добавь в h_windows.prg
 
...
FUNCTION _DefineModalWindow ( FormName, Caption, x, y, w, h, Parent, nosize, nosysmenu, nocaption, aMin, aMax, ;
...
_HMG_InplaceParentHandle := iif( _HMG_BeginWindowMDIActive, GetActiveMdiHandle(), GetActiveWindow() )

IF _HMG_InplaceParentHandle <> 0
Parent := _hmg_InplaceParentHandle
...


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




Пост N: 7483
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.07.23 17:13. Заголовок: Не собирается. Ошибк..


Не собирается. Ошибка на команде: SET WINDOW MODAL PARENT HANDLE ON
Source\main.prg(293) Error E0030  Syntax error "syntax error at 'WINDOW'" 
1 error
No code generated.
hbmk2[Ab4winDebug]: Error: Running Harbour compiler (built-in). 1


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




Пост N: 4357
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.07.23 17:18. Заголовок: Andrey SET WINDOW M..


Andrey
SET WINDOW MODAL PARENT HANDLE ON
ставить не надо - это команда препроцессора, изменение в h_windows.prg предполагает, что команда стоит всегда

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




Пост N: 7484
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.07.23 17:24. Заголовок: Понял, спасибо ! :s..


Понял, спасибо !

Всё равно не собирается, нехватка кучи функций...
Добавил h_windows.prg к себе в проект - собралось.

Ошибки такие же идут... Вешается прога и всё тут...
Раньше вешалась на MODAL(3) - возврат на MODAL(2), теперь чуть больше MODAL(4) - возврат на MODAL(3)
Т.е. при возврате с окна MODAL(4) на предыдущее окно, это окно есть на экране (благодаря функции To_Focus() ), а кнопки НЕДОСТУПНЫ !
Нажимает Esc - окно закрывается, второй вход в это же окно и о НЕ МОЖЕТ быть при возврате окно не вешается...
При первом входе на 4,5 MODAL это происходит всегда !!!
Как быть ? Юзера стонут...
Раньше, в начале года такого не было...

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




Пост N: 7485
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.07.23 04:46. Заголовок: Разобрался я как бор..


Разобрался я как бороться с зависанием. Но это так себе решение наверное.
Везде в программе на окнах MODAL(2) (3) и т.д. нужно делать такой финт !
   DEFINE WINDOW ...     ; 
ON INIT {|| myOnInitFSeek(...),;
This.Get_Zero.Setfocus, _PushKey(VK_0), This.Buff.Setfocus } ;

@ 0, 0 LABEL Buff VALUE "" ... INVISIBLE
@ 10, 10 GETBOX Get_Zero VALUE "+" ... INVISIBLE

@ nRow, nCol BUTTONEX Button_S1 ....
ACTION {|nBtn| nBtn := 1, This.Enabled := .F., DoEvents(), _wPost(11, This.Index, {nBtn, This.Name}) }

(This.Object):Event(11,{|obtn,ky,abtn| // объект,event,параметр получаем
Local ow, cw, cn, lbtn, lwnd, aRet, nRet, cRet, aForm, hWnd
Local nButton := abtn[1] // nButton
Local cButton := aBtn[2] // This.Name
lbtn := obtn:IsControl // переменная контрол\окно .T.\.F.
lwnd := obtn:IsWindow // переменная окно\контрол .T.\.F.
ow := obtn:Window // если lbtn == .T. окно берем так
cw := ow:Name // аналог ThisWindow.Name
cn := obtn:Name // аналог This.Name
? " === Start = :Event(11)", ProcNL()
? " === ", abtn, "abtn=", nButton, cButton, "Event - ky=", ky
? " === ", obtn:ClassName, lbtn, lwnd, cw, cn
? " === @", cw, _IsWindowActive(cw), _IsWindowDefined(cw), cn, _IsControlDefined(cn, cw)
Darken2Open(ow:Handle) // затенение на окно
This.Get_Zero.Setfocus ; _PushKey(VK_1)
aRet := ButtonSpavki(aDim,nButton,cw) // вызов другого MODAL(3)
IF ! To_Focus(cw, cn)
AlertStop("Window not found ! " + cw, "ERROR")
ENDIF
Darken2Close(ow:Handle) // убрать затенение с окна
This.Get_Zero.Setfocus ; _PushKey(VK_2)
DO EVENTS
....
IF _IsWindowDefined(cw)
SET WINDOW THIS TO cw
SetProperty( cw, cn, "Caption", cRet )
? " === ThisWindow =", cw, ThisWindow.Name
? " === This =", cn, This.Name
This.&(cn).Enabled := .T. // разблокировка кнопки
This.Label_Buff.SetFocus()
SET WINDOW THIS TO
ELSE
? "==== *** ERROR *** WINDOW ["+cw+"] not found ! "
ENDIF
? " === End = :Event(11)" ; ? " ..."
Return Nil
} )

(This.Object):Event(99, {|ow| _logfile(.t., ":Event(99)" + ProcNL(), ow:Name, _IsWindowDefined(ow:Name) ) ,;
ow:Release() } )
END WINDOW

И почему так с MODAL окнами происходит ?
Причем последнее MODAL окно чаще всего с ТСБ !
Можно как то глобально вылечить ?

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




Пост N: 4358
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.07.23 08:13. Заголовок: Andrey пишет Можно к..


Andrey пишет
 цитата:
Можно как то глобально вылечить ?


Убери окно Darken2Open(...), Darken2Close(...)

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




Пост N: 7486
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.07.23 09:33. Заголовок: Убрал. Некоторые глю..


Убрал. Некоторые глюки пропали, но другие не лечатся !

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




Пост N: 2175
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 18.07.23 10:38. Заголовок: Andrey пишет: Пробо..


Andrey пишет:

 цитата:
Пробовал поставить BCC 5.5 в MiniGUI-23.04.4 - не собирается, выдаёт ошибку компиляции:
Turbo Incremental Link 5.66 Copyright (c) 1997-2002 Borland
Error: Unresolved external 'SwitchToThisWindow' referenced from C:\MINIGUI-23.04.4\LIB\MINIGUI.LIB|c_windowsAPI
hbmk2[Ab4winDebug]: Error: Running linker. 2

Это можно как то победить ?


Благодарю за сообщение!
Это будет исправлено в следующей сборке библиотеки

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




Пост N: 7487
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.07.23 16:17. Заголовок: Спасибо ! Буду ждать..


Спасибо ! Буду ждать !
Есть ли какой отладчик посмотреть почему фокус на окне, а ввода на окне нет ?
Т.е. висит окно, кнопки не работают, GETBOX не работает, горячие клавиши не работают F1, F2
Только ESC позволяет выйти из окна.

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




Пост N: 7518
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.08.23 15:51. Заголовок: После перехода на BC..


После перехода на BCC 5.8 появились предупреждения.
Помогите убрать их.

Вот такое есть:
OBJ\util_MiniGui.c: 
Warning W8017 C:\MiniGUI-23.07\include\mgdefs.h 102: Redefinition of 'HB_STORC' is not identical
+ Full parser context
+ Source\\util_MiniGui.prg, line 1117: #include C:\MiniGUI-23.07\include\mgdefs.h

мой код -------
#pragma BEGINDUMP

#include <mgdefs.h> // строка 1117
#include <commctrl.h>
#include "hbdate.h"

HB_FUNC( DTP_SETDT )
{
HWND hwnd;
SYSTEMTIME sysTime;

hwnd = ( HWND ) HB_PARNL( 1 );

if( HB_ISDATETIME( 2 ) )
{
int iYear, iMonth, iDay, iHour, iMinute, iSecond, iMSec;

hb_timeStampUnpack( hb_partd( 2 ), &iYear, &iMonth, &iDay, &iHour, &iMinute, &iSecond, &iMSec );

sysTime.wYear = ( WORD ) iYear;
sysTime.wMonth = ( WORD ) iMonth;
sysTime.wDay = ( WORD ) iDay;
sysTime.wDayOfWeek = 0;

sysTime.wHour = ( WORD ) iHour;
sysTime.wMinute = ( WORD ) iMinute;
sysTime.wSecond = ( WORD ) iSecond;
sysTime.wMilliseconds = ( WORD ) iMSec;
}
else if( HB_ISDATE( 2 ) )
{
//TODO
}
else
{
sysTime.wYear = ( WORD ) hb_parnidef( 2, 2005 );
sysTime.wMonth = ( WORD ) hb_parnidef( 3, 1 );
sysTime.wDay = ( WORD ) hb_parnidef( 4, 1 );
sysTime.wDayOfWeek = 0;

if( hb_pcount() >= 7 )
{
sysTime.wHour = ( WORD ) hb_parni( 5 );
sysTime.wMinute = ( WORD ) hb_parni( 6 );
sysTime.wSecond = ( WORD ) hb_parni( 7 );
sysTime.wMilliseconds = ( WORD ) hb_parni( 8 );
}
else
{
sysTime.wHour = 0;
sysTime.wMinute = 0;
sysTime.wSecond = 0;
sysTime.wMilliseconds = 0;
}
}

SendMessage( hwnd, DTM_SETSYSTEMTIME, GDT_VALID, ( LPARAM ) &sysTime );
}


Или вот ещё такое:
OBJ\menu_Achoice.c: 
Warning W8084 Source\\menu_Achoice.prg 361: Suggest parentheses to clarify precedence in function B_FUN_LISTVIEWAPPROXIMATEVIEWRECT

---- Вот код:
#pragma BEGINDUMP

#include <windows.h>
#include "hbapi.h"
#include <commctrl.h>

#define HB_STORNI( n, x, y ) hb_storvni( n, x, y )

// BAA
HB_FUNC( LISTVIEWAPPROXIMATEVIEWRECT )
{
int iCount = hb_parni(2);
DWORD Rc;

Rc = ListView_ApproximateViewRect( ( HWND ) hb_parnl(1), -1, -1, iCount); // строка 361

hb_reta( 2 );
HB_STORNI( LOWORD(Rc), -1, 1 );
HB_STORNI( HIWORD(Rc), -1, 2 );

}
#pragma ENDDUMP


Вот ещё такое:
OBJ\util_c_code.c: 
Warning W8084 Source\\util_c_code.prg 109: Suggest parentheses to clarify precedence in function hb_Ping2

Вот код:
#pragma BEGINDUMP   

#include <hbapi.h>
#include <winsock2.h>
#include <iphlpapi.h>
#include <icmpapi.h>

int hb_Ping2( const char * cp )
{
HANDLE hIcmpFile;
unsigned long ipaddr = INADDR_NONE; // corrected by KDJ
DWORD dwRetVal;
char SendData[32] = "Data Buffer";
LPVOID ReplyBuffer;
DWORD ReplySize;

if( isalpha( cp[0] ) ) //host address is a name
{
WSADATA wsaData;
int iResult;

iResult = WSAStartup( MAKEWORD(2, 2), &wsaData ); // строка 109

if( iResult == 0 )
{
struct hostent *remoteHost = gethostbyname( cp );

if( remoteHost != NULL )
ipaddr = *(unsigned long *) remoteHost->h_addr_list[0];

WSACleanup();
}
}
else
ipaddr = inet_addr( cp );

if (ipaddr == INADDR_NONE)
return 1;

hIcmpFile = IcmpCreateFile();
if (hIcmpFile == INVALID_HANDLE_VALUE)
return 2;

ReplySize = sizeof(ICMP_ECHO_REPLY) + sizeof(SendData);
ReplyBuffer = (VOID*) malloc(ReplySize);
if (ReplyBuffer == NULL)
{
IcmpCloseHandle(hIcmpFile);
return 3;
}


dwRetVal = IcmpSendEcho(hIcmpFile, ipaddr, SendData, sizeof(SendData),
NULL, ReplyBuffer, ReplySize, 1000);

free(ReplyBuffer);

IcmpCloseHandle(hIcmpFile);

if (dwRetVal == 0)
return 4; /*GetLastError();*/

return 0;

}


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




Пост N: 7610
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.11.23 22:53. Заголовок: Что-то фигня с русск..


Что-то фигня с русскими месяцами у меня.
   aMonth     := Array(12) 
FOR nI := 1 TO 12
aMonth[nI] := " " + LOWER( NTOCMONTH( nI ) ) + " "
NEXT
MsgDebug(hb_Ccompiler(), aMonth, SET(_SET_LANGUAGE), hb_CdpSelect() )

Выходит вот так:

Почему ?

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




Пост N: 4451
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.11.23 23:54. Заголовок: Andrey пишет Что-то ..


Andrey пишет
 цитата:
Что-то фигня с русскими месяцами у меня.


Рискну предположить, что в Region настройках у тебя ru1251, а в одно байтовой программе ставится UA1251
Для разных языков надо unicode версию hmg использовать, так для LV, DE, RU, EN, FR, ... языков надо, для UA, думаю тоже

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




Пост N: 7611
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.11.23 14:52. Заголовок: SergKis пишет: Риск..


SergKis пишет:

 цитата:
Рискну предположить, что в Region настройках у тебя ru1251, а в одно байтовой программе ставится UA1251


Там в начале программы указываю
   SET LANGUAGE TO RUSSIAN 
SET CODEPAGE TO RUSSIAN

В модуле TsbViewer.prg делаю
   cSetCP  := hb_SetCodepage() 
cSelCdp := hb_CdpSelect()
cLngSel := Hb_LangSelect()
...
DEFINE WINDOW &cForm AT nY,nX WIDTH nW HEIGHT nH TITLE cTitle ;
ICON cIcon WINDOWTYPE STANDARD TOPMOST NOMAXIMIZE NOSIZE ;
ON GOTFOCUS {|| App.Cargo:cFormGotFocus := This.Name, ;
myLangRecover(cAlias,cSetCP,cSelCdp,cLngSel) } ; // возврат фокуса на форму
....
FUNCTION myLangRecover(cAlias,cSetCP,cSelCdp,cLngSel)
DO EVENTS
hb_SetCodepage(cSetCP)
hb_CdpSelect(cSelCdp)
hb_LangSelect(cLngSel)
IF LEN(cAlias) > 0
IF ( Select( cAlias ) > 0 )
dbSelectArea( cAlias )
ENDIF
ENDIF
DO EVENTS
RETURN NIL

Может это и не надо делать, но если языки в таблицах разные, то при возврате фокуса на таблицу - восстанавливаю язык какой был.
Этот алгоритм взят с SAMPLES\Advanced\Tsb_5Win

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




Пост N: 4452
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.11.23 22:59. Заголовок: Andrey пишет При пер..


Andrey пишет
 цитата:
При первом входе в эту функцию месяца правильные, потом фигню выдают


Для работы с месяцами нужны разные названия их, со склонением, без, сокращенное название, + upper и все это для разных языков. Например, такой вариант можно делать, названия месяцев (и не только) держать в ресурсах программы в виде ini с секциями по нужным языкам и доставать варианты названия по необходимости из них.
Пример тут (кому интересно) https://TransFiles.ru/hftxe
Когда то делал пример отображения базы U04.DBF, которая в кодировке LV866 в тсб с перекодировкой на фонты с использованием CHARSET. В начало добавил примеры с яз. текстами в ini, сами ini в RES каталоге. Внимание ! Файл demo_ru866.prg набран в кодировке RU866 для FAR edit. Др. файлы в кодировке RU1251

 цитата:
Что ещё надо для правильного переключения языка ?


Думаю, надо правильно ставить hb_CdpSelect(...) и исп. окна с контролами и фонтами, соответсвующими этой установке CDP

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




Пост N: 7614
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.11.23 15:57. Заголовок: Разобрался в данном ..


Разобрался в данном случае, нужно просто использовать ТОЛЬКО одну функцию:
   //hb_LangSelect(cLngSel) 
//hb_SetCodepage(cSetCP)
hb_CdpSelect(cSelCdp)

Тогда месяца выводятся правильно !
А как быть если база открыта в кодировке RU866, а само приложение в RU1251 ?
При переключении на другое окно с базой UA866 и окном с другой кодировкой UA1251 - что будет ?
Как в таком случае правильно менять языки вывода ?

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




Пост N: 4453
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.11.23 17:02. Заголовок: Andrey пишет А как б..


Andrey пишет
 цитата:
А как быть если база открыта в кодировке RU866, а само приложение в RU1251 ?
При переключении на другое окно с базой UA866 и окном с другой кодировкой UA1251 - что будет ?


Это hb, с перекодировкой будет все ok! ты же уже использовал 1-ый пункт. Вопрос с GUI фонтами, т.к. они обеспечивают язык окон, контролов. Для одно байтовых программ надо исп. CHARSET указание языка, для команды SET FONT TO <fontname> , <fontsize> CHARSET берется из Region, для команд DEFINE FONT <name> ... без CHARSET то же. С указанным CHARSET в контролы окна надо подавать данные из hb соответствующей CDP. В программах unicode этого делать не надо. У меня все программы unicode и работа с языками сводится к замене данных из языкового ini. В примере выше я подгружал из ресурсов языковые ini в разные переменные, т.е.
App.Cargo:oTextUtf := oGetIniText( "RU_text", , .T. )
App.Cargo:oTextEN := oGetIniText( "EN_text" )
cRes := Left( hb_CdpSelect(), 2 ) + cRes
App.Cargo:oTextIni := oGetIniText( cRes )
В unicode программе, в зависимости от выбранного языка, работа ведется с одной переменной, т.е.
cRes := "EN_text" ; App.Cargo:oText := oGetIniText( cRes )
cRes := "RU_text" ; App.Cargo:oText := oGetIniText( cRes )
cRes := "LV_text" ; App.Cargo:oText := oGetIniText( cRes )
...
App.Cargo:oText содержит данные в Utf8
PS
Для UA1251, возможно, надо поставить hb_CdpSelect(...), сделать фонты, потом поставить RU1251 и так же сделать фонты. Потом на языковых окнах исп. соответствующие фонты. Для hb данных при переключении на яз. окно ставить свой hb_CdpSelect(...) ..., но это надо пробовать.

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




Пост N: 7615
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.11.23 17:29. Заголовок: SergKis пишет: но э..


SergKis пишет:

 цитата:
но это надо пробовать.


Попробовал... Хрень получается.
Месяца и недели правильно выходят, но окно тогда остаётся в той кодировке, какое первое окно открыли.
Т.е. смена кодировки окна не происходит.

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




Пост N: 4454
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.11.23 17:37. Заголовок: Andrey пишет Месяца ..


Andrey пишет
 цитата:
Месяца и недели правильно выходят, но окно тогда остаётся в той кодировке, какое первое окно открыли.
Т.е. смена кодировки окна не происходит.


Надо для каждого языка свое окно, т.к. на нем и в контролах надо исп. свой языковый фонт при создании, т.е. для RU1251 свое окно, для UA1251 свое

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




Пост N: 7616
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.11.23 17:43. Заголовок: SergKis пишет: Надо..


SergKis пишет:

 цитата:
Надо для каждого языка свое окно, т.к. на нем и в контролах надо исп. свой языковый фонт при создании, т.е. для RU1251 свое окно, для UA1251 свое


Так я это и делаю.
Только если оба окна поднять и переключаться между ними, то язык не переключается !!!
Выслал пример к тебе.

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




Пост N: 7618
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.11.23 22:38. Заголовок: SergKis пишет: Для ..


SergKis пишет:

 цитата:
Для hb данных при переключении на яз. окно ставить свой hb_CdpSelect(...) ..., но это надо пробовать.


Это понятно что нужно ставить.
Непонятно другое !!!
Сделал проверку в TsbViewer.prg:
FUNCTION myLangRecover(cAlias,cSetCP,cSelCdp,cLngSel) 
LOCAL aMonth, nI
aMonth := Array(12)
FOR nI := 1 TO 12
aMonth[nI] := " " + LOWER( NTOCMONTH( nI ) ) + " "
NEXT
? ProcNL(), cAlias,cSetCP,cSelCdp,cLngSel, hb_valtoexp(aMonth) // строка 447

DO EVENTS
hb_SetCodepage(cSetCP)
hb_CdpSelect(cSelCdp)
hb_LangSelect(cLngSel)
IF LEN(cAlias) > 0
IF ( Select( cAlias ) > 0 )
dbSelectArea( cAlias )
ENDIF
ENDIF

? ProcNL(), hb_SetCodepage(), hb_CdpSelect(), hb_LangSelect() // строка 459
aMonth := Array(12)
FOR nI := 1 TO 12
aMonth[nI] := " " + LOWER( NTOCMONTH( nI ) ) + " "
NEXT
?? hb_valtoexp(aMonth)
DO EVENTS
RETURN NIL

При первом входе в эту функцию месяца правильные, потом фигню выдают.

Почему ?
Что ещё надо для правильного переключения языка ?
Почему ломается вывод месяцов на одном и том же языке - RU1251 ?
Такой же результат будет и в отдельном примере !

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




Пост N: 4455
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.11.23 23:57. Заголовок: Andrey Смотри внимат..


Andrey
Смотри внимательно
1 строка hb_LangSelect() => ru.RU1251
2 строка hb_LangSelect() => ru.RU1251.RU1251
смотри ф-ю hb_LangSelect() https://github.com/Petewg/harbour-core/wiki/hb_L и задавай параметры правильно, т.е.
hb_LangSelect("ru")
или
hb_LangSelect( , "RU1251")

 цитата:
Почему ломается вывод месяцов на одном и том же языке - RU1251 ?


Потому и ломается

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




Пост N: 7619
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.11.23 16:24. Заголовок: SergKis пишет: и за..


SergKis пишет:

 цитата:
и задавай параметры правильно


Сделал, всё равно НЕ РАБОТАЕТ !!!
Отдельный пример к тебе положил.

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




Пост N: 4456
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.11.23 20:28. Заголовок: Andrey пишет Сделал,..


Andrey пишет
 цитата:
Сделал, всё равно НЕ РАБОТАЕТ !!!
в примере НЕ РАБОТАЕТ повтор вызова языка


Разовая уст. языка (по списку) работает. Пример Скрытый текст


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




Пост N: 7620
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.11.23 20:48. Заголовок: SergKis пишет: Разо..


SergKis пишет:

 цитата:
Разовая уст. языка (по списку) работает.


Да !
А потом при нажатии на форме доп.кнопок, меню и т.д. - НЕ РАБОТАЕТ !
Окно же не последнее, много чего потом делать нужно будет.

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




Пост N: 4457
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.11.23 20:57. Заголовок: Andrey Посмотри мой..


Andrey
Посмотри мой пример, сначала ставится
 
INIT PROCEDURE Sets_EVN()
LOCAL cFont := "DejaVu Sans Mono", nSize := 14
LOCAL cLog := "_msg.log"

SET CODEPAGE TO RUSSIAN
SET LANGUAGE TO RUSSIAN

...
потом повторно ставится
FUNCTION mySetLang(nVal)
LOCAL cSetCP, cSelCdp, cLngSel
LOCAL o, cTmp, oIniLang, cIniLang

IF nVal == 0
SET CODEPAGE TO ENGLISH
SET LANGUAGE TO ENGLISH
ELSEIF nVal == 1
SET CODEPAGE TO RUSSIAN
SET LANGUAGE TO RUSSIAN

ELSEIF nVal == 2
...

получаемый _ru1251.ini секции и данные в них правильные.

 цитата:
А потом при нажатии на форме доп.кнопок, меню и т.д. - НЕ РАБОТАЕТ !


Думаю, оконный интерфейс по языку в однобайтовой сборке hmg должен действовать на всю программу, т.е. "новый" язык новый запуск exe с установкой этого языка.

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




Пост N: 7622
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.11.23 21:06. Заголовок: SergKis пишет: Дума..


SergKis пишет:

 цитата:
Думаю, оконный интерфейс по языку в однобайтовой сборке hmg должен действовать на всю программу, т.е. "новый" язык новый запуск exe с установкой этого языка.


Конечно согласен с этим, но мне всегда хочется чуток расширить границы... и универсальности ...
Допустим в моей большой программе нужно использовать печать на украинском языке в отдельном окне.
Можно указать явно языки, тогда в окне месяца правильно показываются, НО если использовать НЕ MODAL окно для этого,
то возможна потеря языка в основной программе.

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




Пост N: 4458
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.11.23 21:21. Заголовок: Andrey пишет Можно у..


Andrey пишет
 цитата:
Можно указать явно языки, тогда в окне месяца правильно показываются, НО если использовать НЕ MODAL окно для этого, то возможна потеря языка в основной программе.


Используй для этих нескольких окон запуск своего же exe с параметром nMode > 0, Будет аналог STANDARD и ставишь нужный язык и голова не болит

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

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