PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » OffTop » PureBasic 6.10


PureBasic 6.10

Сообщений 1 страница 30 из 89

1

Фред выпустил первую бету PureBasic 6.10 https://www.purebasic.fr/english/viewtopic.php?t=83140

Код:
- Added: WebView library to easily create HTML/CSS based UI ! 
- Added: Full rework of the date library to handle years from 1601 to 9999 ! 
- Added: Skeleton library to create custom skeleton to a mesh ! 
- Added: SvgVectorOutput() and PdfVectorOutput() for all OS 
- Added: DPI-Aware support for OS X 
- Added: ExamineDraggedItems(), NextDraggedItem() and DraggedItemIndex() for Drag'n'drop 
- Added: GetGadgetItemText() support for ExplorerTreeGadget() 
- Added: CompareStructure(), CompareArray(), CompareList() and CompareMap() functions 
- Added: CustomSortList() and CustomSortArray() functions to Sort library 
- Added: CatchPack(), PackEntryDate() 
- Added: CreatePasswordHash() and VerifyPasswordHash() functions (BCrypt algorithm) 
- Added: DeriveCipherKey() to create a cipher key from a password (PBKDF2 algorithm) 
- Added: DateUTC() to get the date in UTC time 
- Added: ConvertDate(Date, #PB_Date_LocalTime/#PB_Date_UTC) to convert the date between UTC and localtime 
- Added: ScaleEntityBone(), MeshDirectAdd() and #PB_Mesh_Direct mode support to CreateMesh() 
- Added: AddPackDirectory(#Packer, PackedDirectoryName$) for empty directory 
- Added: UseDialogWebGadget(), UseDialogOpenGLGadget(), UseDialogScintillaGadget() to avoid big lib dependency by default when using dialogs. 
- Added: NbMaxChannels parameter for InitSound(). Range from 1 to 254. 
- Added: 'Encoding' optional parameter to OpenPreference() to handle properly UTF-8 files without BOM 
- Added: Parent window support to all requesters 
- Added: WebGadget based on Edge component with the #PB_Web_Edge constant (Windows only) 
- Added: Localhost binding for InitFastCGI() 
- Added: SystrayIconMenu() to automatically display a menu when clicking on the icon 
- Added: ListIconGaget() column alignment support 
- Added: Runtime warning if CreateThread() is used without ThreadSafe mode 
- Added: GadgetItemID() support for PanelGadget() (Windows only) 
- Added: #PB_Preference_NoBOM flag for CreatePreference() to create UTF-8 preference files without BOM 
- Added: #PB_Cipher_HMAC flag to fingerprint functions 
- Added: #PB_2DDrawing_NativeText support for DrawingMode() 
- Added: #PB_PixelFormat_NoAlpha for DrawingBufferFormat() 
- Added: #PB_EventType_ColumnClick for ListIconGadget() 
- Added: #PB_String_EscapeJSON support to EscapeString() and UnescapeString(). 
- Added: #PB_Menu_SysTrayLook support to have better looking popup menu when used with SysTray (Windows only) 
- Added: #PB_EventType_Refresh support for ExplorerListGadget() (Window only) 
- Added: Case-insensitive subsystem support on Linux 
- Added: --listfunctions/constants/interfaces and --querystructure support to Windows compiler. 

- Updated: Unicode filename support for Windows compiler 
- Updated: Libvlc instead of the old xine lib on Linux to play movies 
- Updated: Reworked the Sound and Music library to use MiniAudio on Windows, OS X and Linux (SDL dependency is no more requiered for sounds on Linux). 
- Updated: SQLite version to 3.45.0 
- Updated: Toolchain on Windows now use VisualStudio 2022 and new MSVCRT for faster PureBasic programs and easier external libs integration. 
- Updated: Minimum version for Linux x86 is now Debian 12 
- Updated: Minimum version for Raspberry is now Debian 12 based PI OS 

- Changed: TextWidth(), TextHeight(), DrawText() and DrawRotatedText() now use double for X, Y coordinates. 
- Changed: Scintilla is now linked statically on Windows (distributing the scintilla.dll along your executable isn't needed anymore) 
- Changed: the SysTray lib on Linux now use AppIndicator to support modern Linux distro in GTK3 
- Changed: deprecated DESFingerprint() function - use the new CreatePasswordHash() instead. 
- Changed: ListSize() and MapSize() now properly return -1 if the list or map is freed. 

- Removed: --listpath on Linux/OSX (use --output to specify the output file) 
- Removed: Windows XP support. Minimum supported Windows version for created executables is now Windows Vista. 
- Removed: Some very old deprecated functions.

0

2

Пётр написал(а):

- Removed: Windows XP support. Minimum supported Windows version for created executables is now Windows Vista.

Вот щас прям обидно было.

0

3

Wormgrinder написал(а):

Вот щас прям обидно было

А что обидного? Старые версии также поддерживаются и обновляются. Ну будет какая нибудь 6.0.4 обновляться с поддержкой XP. Вы просто не читали постов, где разработчики говорят, что приходится тащить за собой груз XP, типа всякие костыли для поддержки работы функций в старой системе, при этом невозможность добавлять/использовать новые функции современных ОС, которые не поддерживает XP.  В новом году будет 8 лет как XP не поддерживается.

0

4

- Removed: Windows XP support. Minimum supported Windows version for created executables is now Windows Vista.

Интересно, это речь об IDE или о скомпилированных программах? Если только о IDE, то нечего переживать, скомпилированное будет работать.

Отредактировано Smitis (23.12.2023 15:24:44)

0

5

AZJIO написал(а):

Старые версии также поддерживаются и обновляются. Ну будет какая нибудь 6.0.4 обновляться с поддержкой XP.

А Фред хоть раз обновил хоть одну старую версию?

0

6

Smitis написал(а):

скомпилированное будет работать.

Скомпилированные работать не будут на ХР!

Smitis написал(а):

А Фред хоть раз обновил хоть одну старую версию?

Все версии 5.ХХ и 6.0Х обновлялись с поддержкой ХР

0

7

Простой код

Код:
MessageRequester("", "")

компилируется в приложение размером 142 КБ  :O и импортирует много лишнего! :no:

Свернутый текст

ExitProcess
GetModuleHandleWHeap
CreateHeapDestroy
QueryPerformanceCounter
GetCurrentProcessId
GetCurrentThreadId
GetSystemTimeAsFile
TimeInitializeSListHead
RtlCaptureContext
RtlLookupFunctionEntry
RtlVirtualUnwind
IsDebuggerPresent
UnhandledExceptionFilter
SetUnhandledExceptionFilter
GetStartupInfoWIs
ProcessorFeaturePresent
GetStdHandle
WriteFileGetModuleFileNameW
GetCurrentProcessTerminateProcess
FreeLibrary
GetModuleHandleExW
GetProcAddress
GetLastError
SetLastError
HeapAllocHeapFree
EnterCriticalSection
LeaveCriticalSection
DeleteCriticalSection
FlsAllocFlsGetValue
FlsSetValue
FlsFreeInitialize
CriticalSectionAndSpinCount
LoadLibraryExW
LCMapStringW
GetLocaleInfoW
IsValidLocale
GetUserDefault
LCIDEnumSystemLocalesW
FindClose
FindFirstFileExW
FindNextFileW
IsValidCodePage
GetACPGetOEMCP
GetCPInfo
GetCommandLineA
GetCommandLineW
MultiByteToWideCharWide
CharToMultiByte
GetEnvironmentStringsW
FreeEnvironmentStringsW
SetStdHandleGetFileType
GetStringTypeW
GetProcessHeap
HeapSize
HeapReAlloc
FlushFileBuffers
GetConsoleOutput
CPGetConsoleMode
SetFilePointerEx
CreateFileW
CloseHandle
WriteConsoleW
RtlUnwindExEncodePointerRaiseException
TlsAllocTlsGetValue
TlsSetValue
TlsFree
RtlPcToFileHeader
KERNEL32.dll

CoInitialize
ole32.dll

MessageBoxW
GetForegroundWindow
GetWindowThreadProcessId
SetWindowPos
IsWindowVisible
EnableWindow
IsWindowEnabled
GetWindowLongPtrW
EnumWindows
GetDCReleaseDC
USER32.dll

GetDeviceCaps
GDI32.dll

InitCommonControlsEx
COMCTL32.dll

В 6.02 размер 7 КБ и импортируется намного меньше всякого "мусора".

Свернутый текст

memset
msvcrt.dll

GetModuleHandleW
HeapCreate
HeapDestroy
ExitProcess
KERNEL32.dll

CoInitialize
ole32.dll

GetCurrentProcessId
GetCurrentThreadId
FreeLibrary
HeapAlloc
HeapFree
MessageBoxW
GetForegroundWindow
GetWindowThreadProcessId
IsWindowVisible
GetWindowLongPtrW
IsWindowEnabled
EnableWindow
EnumWindows
SetWindowPos
GetDCReleaseDC
USER32.dll

GetDeviceCaps
GDI32.dll

InitCommonControlsEx
COMCTL32.dll

0

8

На 6.03 с гаджетом Scintilla исполняемые файлы стали компилироваться с в 2 раза большим размером, был 1,3 Мб, стал 2,6 Мб (на Linux). И гадаешь, то ли ошибка, то ли новая крутая версия Scintilla.

Пётр написал(а):

компилируется в приложение размером 142 КБ

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

Отредактировано AZJIO (23.12.2023 18:40:19)

0

9

dibor написал(а):

Все версии 5.ХХ и 6.0Х обновлялись с поддержкой ХР

Вот 6.04 обновилась, по горячим следам были сделаны кое-какие правки. Но это текущая версия. А вот так, чтобы, скажем, текущая 6.04 и обновилась 5.73, или хотя бы предыдущая 6.03, которые, кстати, LTS, вот такого не было никогда. Я не прав?

0

10

Smitis написал(а):

А вот так, чтобы, скажем, текущая 6.04 и обновилась 5.73, или хотя бы предыдущая 6.03, которые, кстати, LTS, вот такого не было никогда. Я не прав?

Зайти в раздел Announcements, посмотреть там релизы 6.02, 6.01 и т.д. В списке обнов на первой странице можно увидеть исправления даже для 4.x.x.
ссылка обновы для 4.61b4 там текст "Fixed". И она же есть в списке обнов для версии 6.02 как:

Windows: [Done] 4.61b4 - Resize: Smooth not working, 24b & White fade, 32b

для 6.01

Windows: [Done] WebGadget on PB 5.31 and 5.30 to OLD !
Windows: [Done] PB 5.62-5.72 Interfaces inside structures IMA
Windows: [Done] Load PNG Image bug still in PB5.41 LTS
Windows: [Done] PB 5.42 Crash loading a PNG image to place in the toolbar
Windows: [Done] PB5.40LTS PB sometimes crashes while opening images

Отредактировано AZJIO (23.12.2023 20:35:51)

0

11

AZJIO написал(а):

И гадаешь, то ли ошибка, то ли новая крутая версия Scintilla.

11 October 2023 : Version 6.03 LTS

Updated Scintilla to 5.3.5 for all platforms


AZJIO написал(а):

возможно это связано с новым функционалом указания родительского окна

Пустой исходник компилируется в файл размером 140 КБ с тем же списком импортируемых библиотек.
Фред предупреждал что так будет https://www.purebasic.fr/blog/?p=538

AZJIO написал(а):

увидеть исправления даже для 4.x.x.ссылка обновы для 4.61b4 там текст "Fixed". И она же есть в списке обнов для версии 6.02 как:

Это баг найденный во времена версии 4.61 был исправен только сейчас.
В версию 4.61 Фред исправления не вносил.

0

12

Пётр написал(а):

11 October 2023 : Version 6.03 LTS

    Updated Scintilla to 5.3.5 for all platforms

Да я это помню, и то как несколько раз выкладывался IDE и предлагали для теста со старой и новой версией. Но увеличение в 2 раза я даже на форуме хотел спросить это точно не ошибка. Причём на Windows такого не было. Кстати было обсуждение что scintilla.dll будет встроен в exe вроде бы как уже в 6.03 то есть в момент обновления Scintilla, это кстати тоже не произошло, у меня почему то исполняемый файл RegExpPB спокойно запускался без scintilla.dll, но когда я выложил архивы мне сказали что не запускается, пришлось добавить scintilla.dll как раньше и сам я на WinPE 8.0 проверил что эта правда, без scintilla.dll не запускалась прога.

Кстати, можно для маленьких файлов использовать старую версию PureBasic, у меня до сих пор есть проги 40-90 кб, иногда и 20 кб мелкие проги иногда 150 кб. Я даже специально их компилировал с ASM компилятором. А те что 300 кб увеличились до 400 кб, и думаешь может оптимизация и скорость лучше для этих прог, например для RegExpPB, где при каждом клике происходит подсветка гаджета Scintilla.

Пётр написал(а):

В версию 4.61 Фред исправления не вносил

а для  6.01 я выше список выложил, тоже исправления не внесены? То есть старые баги исправлены только в 6.01?
Просто если дистриб является LTS, то почему не исправить это в самих же версиях?

Отредактировано AZJIO (23.12.2023 20:57:56)

0

13

AZJIO написал(а):

В списке обнов на первой странице можно увидеть исправления даже для 4.x.x.
ссылка обновы для 4.61b4 там текст "Fixed".

fixed от 28.04.2023
Специально скачал из музея 4.61. Самые свежие файлы вообще датированы 2017. Потому как Пётр правильно ответил

Пётр написал(а):

В версию 4.61 Фред исправления не вносил.

То есть, Фред НЕ ВНОСИТ изменения в старые версии.
Так что, никакого обновления "с поддержкой XP" не будет.

0

14

AZJIO написал(а):

Кстати было обсуждение что scintilla.dll будет встроен в exe вроде бы как уже в 6.03

В 6.10 встроена scintilla. Почти метр exe файл весит.

AZJIO написал(а):

а для  6.01 я выше список выложил, тоже исправления не внесены?

Исправления вносятся в ту версию которая в разработке на данный момент. Сейчас это 6.10.

Кстати, WebViewGadget оказался не таким уж интересным. Чтобы он работал нужно ставить рантайм почти на 200 метров... :O
Вроде как в Win 11 по умолчанию доступен (не прояерл), а в Win 10 и ниже его нет.
Вот представляю, прога весит полкило полметра, а чтобы она работала нужно скачать инсталлятор на 170 метров, файлы из которого на диске займут около 500 МБ. :O
О чем Фред думал? :no:
Собрал пример с официального форума http://pure-basic.narod.ru/forum_files/ … Gadget.zip
Напишите у кого заработает (окно будет не пустым), а кого нет.

0

15

Пётр написал(а):

Исправления вносятся в ту версию которая в разработке на данный момент.

А в чем смысл тогда в LTS ?

0

16

Lts касается первого числа в нумерации версии. Т.е. пока будут многочисленные беты 6.10 теоретически возможна 6.05 при обнаружении критической ошибки и понимания как её исправить не сломав всё остальное.
Не уверен в своей памяти, но кажется прецеденты были.

Отредактировано useful (24.12.2023 07:11:31)

0

17

Пётр написал(а):

Напишите у кого заработает (окно будет не пустым), а у кого нет.

Проверил на 10-ке LTSC от https://w14.monkrus.ws/2021/12/windows- … s-eng.html
Кроме штатных обновлений браузера от мелкомягких никаких манипуляций точно не делал.
Пример работает.

p.s. а по поводу нового вебгаджета есть странность с урлом, но работает.

Код:
EnableExplicit
#TestURL = "https://800.spb.ru"
Procedure ResizeWebWindow()
  ResizeGadget(10, 0, 0, WindowWidth(0), WindowHeight(0))
EndProcedure
OpenWindow(0, 100, 200, 500, 300, "Test WebGadget 6.10 & SpiderBasic", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)
WebGadget(10, 0, 0, 0, 0, "", #PB_Web_Edge)
SetGadgetText(10, #TestURL)
BindEvent(#PB_Event_SizeWindow, @ResizeWebWindow())
ResizeWebWindow()
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow

меняем размер окна и видим как отрабатывает спайдербэйсик с канвасом.

Отредактировано useful (24.12.2023 08:56:57)

0

18

Пётр написал(а):

Напишите у кого заработает (окно будет не пустым), а кого нет.

Windoz 10 pro со всеми апдейтами, специально ни какого рантайма не ставил.
Запустил екзешник.
Отображается окно с 2 кнопками, Tap me считает количество кликов :)

0

19

AZJIO написал(а):

А в чем смысл тогда в LTS ?

В случае PB, это исправление ошибок без добавления новых функций.

0

20

Пётр написал(а):

В случае PB, это исправление ошибок

Так там и были ошибки. Можно было версии 5.73 и 6.04 поддерживать, так как в первой сменили движок видеоигр,  я на старой версии 3д пробую на 5.72, а если там тени добавлены то на винде попробовать не могу. А 6.04 ради ХР.

0

21

AZJIO написал(а):

Можно было версии 5.73 и 6.04 поддерживать

Их поддерживали.
Выпущены версии 5.70, 5.71, 5.72, 5.73 и 6.00, 6.01, 6.02, 6.03, 6.04.
LTS подразумевает поддержку в течении некоторого времени (Фред писал что 2 года), а не поддержку на десятки лет.
https://www.purebasic.fr/blog/?p=437

0

22

Пётр написал(а):

Их поддерживали

Это смена функционала, который может у одних перестать работать.

0

23

Пётр написал(а): Напишите у кого заработает (окно будет не пустым), а кого нет.

Win7_x64, не работает, пустое окно. Перекомпиляция не помогает.

0

24

bizdon написал(а):

Win7_x64, не работает, пустое окно. Перекомпиляция не помогает.

И не должно.
По поводу 7-ки вопрос один: достаточно ли EDGE браузера установленного (если он вообще ставится, не интересовался)
Или требуется установка MicrosoftEdgeWebView2Runtime

Опытным путём вроде выяснили, что для десятки достаточно EDGE обновлённого.

p.s. https://support.microsoft.com/ru-ru/top … f70da700b1

Отредактировано useful (25.12.2023 11:44:54)

0

25

Для десятки браузера Edge недостаточно. Скачивал, устанавливал, но WebViewGadget не работает.
Надо ставить Runtime.

0

26

useful написал(а):

Проверил на 10-ке LTSC от https://w14.monkrus.ws/2021/12/windows- … s-eng.html
Кроме штатных обновлений браузера от мелкомягких никаких манипуляций точно не делал.
Пример работает.

p.s.

Пётр написал(а):

Скачивал, устанавливал,

Может не хватает "..., обновлял"?

Отредактировано useful (25.12.2023 15:38:20)

0

27

useful написал(а):

Может не хватает "..., обновлял"?

Скачал текущую версию с сайта майкрософта. Она и так самая новая.
Да и какая разница. Браузер Edge мне не нужен. Я им пользоваться не собираюсь.
Дело в другом. Не у всех будет работать приложение с WebViewGadget.

0

28

Я не понимаю, что мы обсуждаем. Windows (сопровождаемый мелкомягкими массово т.е. 10 и 11) без edge на сегодня это особый технологический нишевой (редкий) случай.
А обсуждение началось ещё на англоязычном форуме на тему проблемы распространения приложений с WebView. В 99% случаев проблемы нет.
Кого волнует 1%?

p.s. win10 iot можно конечно установить без edge, но если не задумываться об этом, то по умолчанию он установится.

p.p.s Кстати на iot c edge не работает. Есть у меня скромный ноут асус. Специально проверил.

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

Отредактировано useful (25.12.2023 19:57:43)

0

29

useful написал(а):

Windows (сопровождаемый мелкомягкими массово т.е. 10 и 11) без edge на сегодня это особый технологический нишевой (редкий) случай.

Браузера Edge недостаточно. Нужен рантайм.
В этом вся проблема.

useful написал(а):

В 99% случаев проблемы нет.

На основной системе (10) и на виртуалке 7/8/10 WebView не заработал без установки рантайма. То есть из коробки (дистрибутив как есть) работать не будет.

useful написал(а):

Кстати на iot c edge не работает.

Я же пишу, наличие браузера Edge не означает что будет работать WebViewGadget.

0

30

Пётр написал(а):

Я же пишу, наличие браузера Edge не означает что будет работать WebViewGadget.

Согласен. На системе, про которую я писал об успехе runtime обнаружен. НО я его не ставил.
Прилетел с кем то ранее.

0


Вы здесь » PureBasic - форум » OffTop » PureBasic 6.10