16
septembre
2008
Sortie de PureBasic 4.30 bêta 1
septembre
2008
Un article de comtois
Pas de commentaires
Voici une nouvelle version avec plein de nouveautés. Elle est disponible sur votre compte.
Cette fois ci PureBasic comprend également une version 64 bits pour windows et une version x86 pour OSX.
Liste des nouveautés (elle sera traduite pour la version finale) :
- new PureBasic 64bit Windows version
- new PureBasic x86 version for OSX
- Ogre update, and many new commands (see below)
- Complete restructuring of the Debugger for better stability and support of the new platforms
- Added: OnError support for all platforms
- Added: Support for multiple Joysticks
- Added: Compiler warning support
- Added: Debugger warning support
- Added: Language support for Compiler and Debugger (only the compiler is translated in beta 1)
- Added: support for And/Or in CompilerIf statements
- Added: Compiler constant: #PB_Compiler_Processor (= #PB_Processor_x86, ..._x64, ..._PowerPC, ..._mc68000)
- Added: New integer type ".i" which is long/quad for 32bit/64bit respectively
- Added: Improved memory allocation for LinkedList and some other libraries
New features in the Libraries:
- Added: ArraySize()
- Added: CatchModule()
- Added: UseJPEG2000ImageDecoder() and UseJPEG2000ImageEncoder()
- Added: DesktopX(), DesktopY()
- Added: Semaphore commands (CreateSemaphore(), FreeSemaphore(), SignalSemaphore(), WaitSemaphore(), TrySemaphore())
- Added: Window events #PB_Event_WindowMaximize, #PB_Event_WindowMinimize, #PB_Event_WindowRestore
- Added: WindowBounds() to set the minimum/maximum Window size
- Added: #PB_Ignore support to AddStatusBarField()
- Changed: new style parameter for FontRequester()
- Changed: InitScintilla() parameter is now optional
- Changed: Hex(), Bin() have an optional type parameter (use #PB_Long, #PB_Quad) to change the behavior for negative numbers
Incompatible changes:
- Renamed: CountList() to ListSize()
- Renamed: ClearGadgetItemList() to ClearGadgetItems()
- Renamed: CameraProjection() to CameraProjectionMode()
- Renamed: #Byte, #Long, #Word etc to #PB_Byte, #PB_Long, #PB_Word (for StrU, Hex, Bin)
- Removed: CreateGadgetList() - OpenWindow() now calls this implicitly. UseGadgetList() can be used for API windows
- Removed: ChangeListIconGadgetDisplay() - use SetGadgetAttribute(#Gadget, #PB_ListIcon_DisplayMode, Mode) instead
- Removed: StrQ(), HexQ(), BinQ(), ValQ(), IntQ(). Just use Str(), Hex(), Bin(), etc. instead, they now work with quad
- Removed: Backward compatibility behavior in ButtonImageGadget() (now works as documented since 4.20 only)
- Changed: AddElement() and similar LinkedList functions return the data pointer now (not the list header)
- Changed: OnError lib rewritten, with some commands renamed or remove (see below)
- Changed: RotateEntity(), RotateCamera() and RotateBillboard() x,y rotation axis
- Changed: The Joystick commands have an extra #Joystick parameter now. InitJoystick() returns the number of available Joysticks
- Changed: The ComboBoxGadget() "Height" parameter now affects the entry field height, not the dropdown box.
- Changed: Read now does not determine its type by the variable used, but as other commands with "Read.l", "Read.s" etc.
NOTE: "Read x.b" will now read a long, as the default type will be used for the Read, and then converted to byte!
Renamed and new OnError library commands:
OnErrorExit() - Exit the program if an error occurs
OnErrorCall(@ErrorHandler()) - Call the given error handler if an error occurs
OnErrorGoto(?LabelAddress) - Continue execution at the given label if an error occurs
OnErrorDefault() - Uninstall any error handler so the default OS action is taken on further errors
ErrorCode() - Returns the current error code
ErrorMessage([ErrorNumber]) - Returns a string message for the current error or the given error number
ErrorLine() - Returns the line number at which the current error occured
ErrorFile() - Returns the source filename in which the current error occured
ErrorAddress() - get the Code address at which the error happened
ErrorTargetAddress() - get the Memory address for a memory access error.
ErrorRegister(Register) - get the content of a register at the time of the error
RaiseError(ErrorNumber) - Raise the given error and call the error handler or exit
- Note: Resuming the code after the OnErrorCall() handler is no longer possible
Commands removed from the OnError lib wihout replacement:
OnErrorResume()
DisASMCommand()
GetDisASMString()
GetCurrentEIP()
GoToEIP()
ClearError()
GetErrorDLL()
GetErrorCounter()
- new PureBasic x86 version for OSX
- Ogre update, and many new commands (see below)
- Complete restructuring of the Debugger for better stability and support of the new platforms
- Added: OnError support for all platforms
- Added: Support for multiple Joysticks
- Added: Compiler warning support
- Added: Debugger warning support
- Added: Language support for Compiler and Debugger (only the compiler is translated in beta 1)
- Added: support for And/Or in CompilerIf statements
- Added: Compiler constant: #PB_Compiler_Processor (= #PB_Processor_x86, ..._x64, ..._PowerPC, ..._mc68000)
- Added: New integer type ".i" which is long/quad for 32bit/64bit respectively
- Added: Improved memory allocation for LinkedList and some other libraries
New features in the Libraries:
- Added: ArraySize()
- Added: CatchModule()
- Added: UseJPEG2000ImageDecoder() and UseJPEG2000ImageEncoder()
- Added: DesktopX(), DesktopY()
- Added: Semaphore commands (CreateSemaphore(), FreeSemaphore(), SignalSemaphore(), WaitSemaphore(), TrySemaphore())
- Added: Window events #PB_Event_WindowMaximize, #PB_Event_WindowMinimize, #PB_Event_WindowRestore
- Added: WindowBounds() to set the minimum/maximum Window size
- Added: #PB_Ignore support to AddStatusBarField()
- Changed: new style parameter for FontRequester()
- Changed: InitScintilla() parameter is now optional
- Changed: Hex(), Bin() have an optional type parameter (use #PB_Long, #PB_Quad) to change the behavior for negative numbers
Incompatible changes:
- Renamed: CountList() to ListSize()
- Renamed: ClearGadgetItemList() to ClearGadgetItems()
- Renamed: CameraProjection() to CameraProjectionMode()
- Renamed: #Byte, #Long, #Word etc to #PB_Byte, #PB_Long, #PB_Word (for StrU, Hex, Bin)
- Removed: CreateGadgetList() - OpenWindow() now calls this implicitly. UseGadgetList() can be used for API windows
- Removed: ChangeListIconGadgetDisplay() - use SetGadgetAttribute(#Gadget, #PB_ListIcon_DisplayMode, Mode) instead
- Removed: StrQ(), HexQ(), BinQ(), ValQ(), IntQ(). Just use Str(), Hex(), Bin(), etc. instead, they now work with quad
- Removed: Backward compatibility behavior in ButtonImageGadget() (now works as documented since 4.20 only)
- Changed: AddElement() and similar LinkedList functions return the data pointer now (not the list header)
- Changed: OnError lib rewritten, with some commands renamed or remove (see below)
- Changed: RotateEntity(), RotateCamera() and RotateBillboard() x,y rotation axis
- Changed: The Joystick commands have an extra #Joystick parameter now. InitJoystick() returns the number of available Joysticks
- Changed: The ComboBoxGadget() "Height" parameter now affects the entry field height, not the dropdown box.
- Changed: Read now does not determine its type by the variable used, but as other commands with "Read.l", "Read.s" etc.
NOTE: "Read x.b" will now read a long, as the default type will be used for the Read, and then converted to byte!
Renamed and new OnError library commands:
OnErrorExit() - Exit the program if an error occurs
OnErrorCall(@ErrorHandler()) - Call the given error handler if an error occurs
OnErrorGoto(?LabelAddress) - Continue execution at the given label if an error occurs
OnErrorDefault() - Uninstall any error handler so the default OS action is taken on further errors
ErrorCode() - Returns the current error code
ErrorMessage([ErrorNumber]) - Returns a string message for the current error or the given error number
ErrorLine() - Returns the line number at which the current error occured
ErrorFile() - Returns the source filename in which the current error occured
ErrorAddress() - get the Code address at which the error happened
ErrorTargetAddress() - get the Memory address for a memory access error.
ErrorRegister(Register) - get the content of a register at the time of the error
RaiseError(ErrorNumber) - Raise the given error and call the error handler or exit
- Note: Resuming the code after the OnErrorCall() handler is no longer possible
Commands removed from the OnError lib wihout replacement:
OnErrorResume()
DisASMCommand()
GetDisASMString()
GetCurrentEIP()
GoToEIP()
ClearError()
GetErrorDLL()
GetErrorCounter()
Rendez-vous sur le forum PureBasic pour plus de détails.