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




Пост N: 7642
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.12.23 14:43. Заголовок: Переход на VisualC


Сейчас использую связку MiniGUI-23.09.2 + Harbour 3.2.0dev (r2301231146) от версии MiniGUI-23.01
Моя большая прога более стабильно работает на такой связке.
У большинства юзеров прога не падает, хотя есть и исключения.
При переходе на MiniGUI-23.10 с родным Harbour начинают отваливаться ТСБ (тупо клинит) и
клинят кнопки на форме (вообще не нажимаются) при первом входе на форму.
Связано это видно с самим Харбором.

Актуален вопрос по переходу на MiniGui под MSVC.
Чем отличаются Харбор сборки текущего года под MSVC от BCC ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 16 [только новые]


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




Пост N: 7643
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.12.23 14:49. Заголовок: Столкнулся с проблем..


Столкнулся с проблемой и не поняткой при сборке ехе-ника под VisualC.
Выгрузил архив в новый каталог
1. сборка -> не проходит, нет _hbmkaut_main.obj, а _hbmkaut_main.c есть. протокол длинный
2. повторяю -> не проходит, нет _hbmkaut_main.obj, а _hbmkaut_main.c есть. протокол короткий, повторяю - тоже самое
3. удаляю OBJ каталог, сборка -> проходит exe запустился, еще несколько раз делаю - все ok!

Такое же у меня редко, но бывает и под BCC.
Тоже удаляю папку и потом всё собирается.
Почему нет проверки на этот сбой ?
Или удалять этот файл ВСЕГДА при начале сборки...

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




Пост N: 7644
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.12.23 01:31. Заголовок: Не совсем понятна ли..


Не совсем понятна лицензия на MiniGui MSVC.
Если использовать - https://visualstudio.microsoft.com/ru/vs/community/
То там пишут:
Для индивидуальных пользователей
Любой индивидуальный разработчик может создавать бесплатные или платные приложения с помощью Visual Studio Community.

Просто интересно как это сейчас будет ?

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




Пост N: 2233
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 24.12.23 13:36. Заголовок: Andrey пишет: Не со..


Andrey пишет:

 цитата:
Не совсем понятна лицензия на MiniGui MSVC


Подробное лицензионное соглашение см. по адресу
click here

Если коротко:

 цитата:

1. ПРАВА НА УСТАНОВКУ И ИСПОЛЬЗОВАНИЕ.

a. Индивидуальная лицензия. Если вы являетесь физическим лицом, разрабатывающим собственные приложения либо для продажи, либо с какой-либо другой целью, вы можете использовать данное программное обеспечение для разработки и тестирования таких приложений.



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




Пост N: 4478
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.12.23 15:09. Заголовок: gfilatov2002 пишет Е..


gfilatov2002 пишет
 цитата:
Если коротко:


Выделить надо фразу (во всех пунктах)
 цитата:
вы можете использовать данное программное обеспечение для разработки и тестирования таких приложений


т.е. для коммерческого использования нужна лицензия

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




Пост N: 7648
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.12.23 10:51. Заголовок: Что-то анимация у ме..


Что-то анимация у меня пропала при вызове кнопок 1-4 в примере APP_OOPTEMPLATE-VC-20
Т.е. в модуле WaitWinGif.prg перестаёт авишка двигаться
  ... ANIGIF Gif_1 OBJ oStaticGif PICTURE "Ani3dMan128"

С чем это связано ?
Или это только на моем компе такое ?

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




Пост N: 2235
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 29.12.23 17:03. Заголовок: Andrey пишет: С чем..


Andrey пишет:

 цитата:
С чем это связано ?


Это связано с тем, что Gif файл используется в окне, которое активируется с использованием класса NOWAIT, т.е без остановки выполнения дальнейшего кода. А для проигрывания Gif-анимации требуется режим ожидания, который возникает при обычном использовании команды ACTIVATE WINDOW <имя окна>.

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




Пост N: 7649
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.12.23 18:52. Заголовок: Блин, до этого работ..


Блин, до этого работало, а потом перестало... Странно...
Я код WaitWinGif.prg не правил уже давно.
Нашёл вариант от 02.09.2023 - там Gif файл не останавливается...
Пере собрал этот вариант с новой версией МиниГуи 23.12 - Gif файл не останавливается.

Вставляю старый код WaitWinGif.prg от 02.09.2023 в новый проект, собираю - Gif файл останавливается !
Отличие нового кода от старого - больше кода и сборка ресурсов другая !!!
demo.rc делается по другому:
#include "Resource\demo.rc" 
#include "Resource\demo_64.rc"
#include "Resource\demo_128.rc"
// ------ убрал для быстроты сборки 27.12.2023 -----------
// #include "Resource\demoDummy1.rc"
// #include "Resource\demoDummy2.rc"
#include "Resource\_info_my.rc"

Буду переделовать без NOWAIT
Но не думаю что в этом дело...
Переделал для BCC ресурсный файл по старому в новой версии - Gif файл останавливается !
Чем больше ехе-ник, тем больше вероятности что рабочий код начинает глючить...

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




Пост N: 8191
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.07.26 01:04. Заголовок: Пытаюсь перейти на с..


Пытаюсь перейти на сборку своей большой проги для MSVC2022
Для тех кто хочет тоже это делать.
Файлы ресурсов для MSVC НЕЛЬЗЯ размещать в файле проекта (допустим demo-msvc.hbp) !
Нужно создать файл demo-msvc.rc и там указывать ресурсные фалы, вот примерно так:
#include "Resource\demo0.rc"
#include "Resource\demo1.rc"
#include "Resource\demo2.rc"

В файлах Resource\demoXX.rc последняя строка должна быть CRLF иначе будет ошибка:
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384 
Copyright (C) Microsoft Corporation. All rights reserved.
W:\@demo4win\Resource\demo2.rc(46) : fatal error RC1004: unexpected end of file found
hbmk2[demo4win-msvc]: Error: Running resource compiler. 1

НЕ допускается наличие функции в вашем проекте с ОДИНАКОВЫМ ИМЕНЕМ которая есть в xxx.lib MiniGui MSVC !!!
ВОПРОС - как в одном prg можно делать код для BCC и MSVC ?
Т.е. есть функции которые под MSVC не собираются и надо в одном исходнике (чтобы не плодить новые)
написать их заново для MSVC
#ifdef ????? // MSVC 
#else
#endif

Или так нельзя сделать ?

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




Пост N: 4893
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.07.26 14:40. Заголовок: Файлы ресурсов для M..



 цитата:
Файлы ресурсов для MSVC НЕЛЬЗЯ размещать в файле проекта (допустим demo-msvc.hbp) !


Использую rc.exe от 1998 г. для всех msvc (последний 2019) и для bcc (всех)
"Microsoft (R) Windows 32 Resource Compiler, Version 3.50 - Build 851"
в rc файле, у меня, есть более 200-от строк для ico, bmp, ini, txt, dbf, ... - все собирает ok!
Еще вариант получать res файлы, например, так %BK%\BIN\RC\RC.EXE %PP%.RC >> ..\%OCMD%
потом их включать в hbp сценарий, т.е. см. UTILS\mgDBU\dbu.hbp
...
# list of all *.prg
MGDBU.prg
DBUEDIT.prg
DBUVIEW.prg

# project Resources
MGDBU_.res

 цитата:
НЕ допускается наличие функции в вашем проекте с ОДИНАКОВЫМ ИМЕНЕМ которая есть в xxx.lib MiniGui MSVC !!!


Со времен clipper делали схему, например, для hmg можно так
FUNC Main(...) // file my0.prg
....
ow:Event( 1, {|ow| my_Fun1(ow) }
ow:Event( 2, {|ow| my_Fun2(ow) }
...
FUNC My_Fun1(oWnd) // file my1.prg
...
my_Wnd(...)
...
STATIC FUNC My_Wnd(...)
...
STATIC FUNC My_Other(...)
...
FUNC My_Fun2(oWnd) // file my2.prg
...
my_Wnd(...)
...
STATIC FUNC My_Wnd(...)
...
STATIC FUNC My_Other(...)
...
и т.д. по проекту
т.е. вся обработка находится в STATIC ф-ях (могут в разных prg иметь одинаковые имена), более того, можно из такого prg получать hrb файл и класть его в ресурсы и из них делать вызов на исполнение (про dll даже не говорю)

 цитата:
написать их заново для MSVC
#ifdef ????? // MSVC
#else
#endif


Если разговор о C, C++ модулях, то создавай из них lib и подключай в hbp сценарий

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




Пост N: 8192
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.07.26 19:33. Заголовок: Как убрать кракозябы..


Как убрать кракозябы в файле build.log ????
hbmk2: Triggered by #require directive: hbxlsxml.hbc 
hbmk2: Compiling resources...
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
Copyright (C) Microsoft Corporation. All rights reserved.
hbmk2: Linking... Demo4win.exe
CVTRES : fatal error CVT1100:   ■    . : ICON,   : 1,  
: 0x0409
LINK : fatal error LNK1123: ?й п( п?б?ов нии в COFF: ?л не¤оп? или пов?¤ен
hbmk2[Demo4win-msvc]: Error: Running linker. 1123
link.exe @D:\TEMP\ymcap4.lnk


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




Пост N: 8193
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.07.26 23:25. Заголовок: Нашёл решение для уб..


Нашёл решение для убирания кракозябов в build.log

Нужно установить такую команду в buildapp.bat
@echo off 
set VSLANG=1033 <<---- (код для английского языка)
set OLDPATH=%PATH%

set HMGPATH=D:\MiniGuiVC_2603Pro
call "D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
SET PATH=%HMGPATH%\harbour\bin;%PATH%

echo #define HMGRPATH %HMGPATH%\RESOURCES > _hmg_resconfig.h
.....

Григорий, добавь пожалуйста эту команду в сборку MSVC

Если это не помогает, значит у вас установлена только русская версия MSVC
Нужно установить английский языковой пакет через Visual Studio Installer
Тогда точно будет работать !

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




Пост N: 8194
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.07.26 13:50. Заголовок: Не получается собрат..


Не получается собрать свой проект.
Выдаёт такую ошибку в build.log
hbmk2: Triggered by #require directive: hbxlsxml.hbc 
hbmk2: Compiling resources...
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
Copyright (C) Microsoft Corporation. All rights reserved.
hbmk2: Linking... Demo4win.exe
Tsb7xml.obj : error LNK2001: unresolved external symbol _HB_FUN_EXCELWRITERXML
D:\MiniGuiVC_2603Pro\harbour\lib\win\msvc\hbxlsxml.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'x86'
Abonent4win.exe : fatal error LNK1120: 1 unresolved externals
hbmk2[Demo4win-msvc]: Error: Running linker. 1120
link.exe @D:\TEMP\wvgnpt.lnk


Удалил и пере собрал заново hbxlsxml.lib
в папке D:\MiniGuiVC_2603Pro\SOURCE\HbXlsXml
файл BuildLib.bat - там установил ключ
call "D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
Подскажите в чём ошибка ?

У меня в коде вызов такой:
   // Создаем объект XML 
oXml := ExcelWriterXML():New( cFile )
oXml:setOverwriteFile( .T. )
oXml:setCodePage( "RU1251" )


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




Пост N: 4895
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.07.26 14:14. Заголовок: У меня свои файлы сб..


У меня свои файлы сборки и в них есть указание на SET VCE=%VCL%bin\x86, они тут
...\MSVC\vcvar.cmd Скрытый текст


запуск сборки из проекта _hb.cmd Скрытый текст


сборка hb19.cmd Скрытый текст


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




Пост N: 8195
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.07.26 14:53. Заголовок: Спасибо ! :sm36:..


Сергей СПАСИБО !
Григорий, СПАСИБО ! С новой библиотекой собрался проект.

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




Пост N: 8196
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.07.26 17:51. Заголовок: DeepSeek выдал такое..


DeepSeek выдал такое:
#ifdef _MSC_VER 
// Код, специфичный для компилятора Microsoft Visual C
? "Компиляция с помощью MSVC"
#elif defined( __BORLANDC__ )
// Код, специфичный для компилятора Borland C++
? "Компиляция с помощью BCC"
#else
// Код для других компиляторов (например, GCC)
? "Компиляция с помощью другого компилятора"
#endif

Делаю у себя так:
#include "minigui.ch" 

#ifdef _MSC_VER
// здесь код для компилятора MSVC
// делаю функции пустышки для проверки сборки, т.к. нет LetoDbf под MSVC
FUNCTION LETO_DISCONNECT
RETURN NIL

FUNCTION LETO_FILE
RETURN NIL

FUNCTION LETO_MEMOREAD
RETURN NIL

FUNCTION LETO_DIREXIST
RETURN NIL

FUNCTION LETO_MEMOWRITE
RETURN NIL

#else
#endif

Проект не собирается, выдаёт ошибку:
hbmk2: Compiling... 
_What_to_do.c
_What_to_do.c
W:\@Demo4win\OBJ\MSVC\_What_to_do.c : fatal error C1083: Cannot open compiler generated file: 'W:\@Demo4win\OBJ\MSVC\_What_to_do.obj': Permission denied
hbmk2[abonent4win-msvc]: Error: Running C/C++ compiler job #1. 1

Поиск в инете дал такое:
Компилятор не может найти файл с помощью правил поиска для #include директивы  
или #import директивы. Например, если имя файла заголовка заключено кавычками,
#include "myincludefile.h"
Убрал этот #include, всё равно выдаёт ошибку !
Как задать правильно код для MSVC ?

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




Пост N: 4896
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.07.26 20:34. Заголовок: Andrey Положил на f..


Andrey
Положил на ftp свою сборку LetoDbf для msvc 2019, посмотри, может сгодится для тебя

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

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