Page 1 of 5

PureBasic 4.10 beta 1 (Windows) released!

Posted: Thu May 31, 2007 9:46 pm
by freak
Hello everyone,

After a lot of work, here is the first public beta for the next PureBasic version!
It is of course not as big as the 4.00 update, but still quite impressive.

Note that some changes were made to the way the IDE and compiler operate
(tempfiles, preferences etc) to be fully compatible with Windows Vista,
which could affect some code and tools, so please read the changes list
carefully.

Its available for download on your user account, get it while its hot! :)

Here is the list of changes:

Code: Select all

Vista compatibility:
--------------------

 - The PureBasic package is fully compatible with UAC
 - All tools except the setup and SmartUpdate work also for limited users
 - Vista is added to OSVersion() 

Note: The Sprite&Screen packages still work with DX7, which means that it is a bit slow
      on Vista and OpenWindowedScreen() will disable the glass skin. The work to update all this
      to DX9 is in progress, but it will not be finished for 4.10.
      This will be done in the 4.20 release.

Libraries:
----------
 - lots of bugs fixed (see the bugs forum for more info)

 - added TruncateFile() for file lib
 - added #PB_OS_Windows_Vista and #PB_OS_Windows_Server_2008 for OSVersion()
 - changed the module replayer with 'ModPlug' so it can be used in any applications

 - added brand new XML library
 - added brand new Drag & Drop library

 - added scintilla library (dll version):
      InitScintilla(DllFile$) - load the scintilla dll
      ScintillaGadget(#Gadget, x, y, Width, Height, Flags, Callback)
      ScintillaSendMessage(#Gadget, Message, Param1, Param2)

      Callback format:
      Procedure ScintillaCallBack(EditorWindow.l, EditorGadget.l, *scinotify.SCNotification, lParam.l)
      EndProcedure


 - added: Lots of new Stuff for the WebGadget
      SetGadgetItemText(#Web, #PB_Web_HtmlCode, Code$) - stream new code into the gadget
      GetGadgetItemText(#Web, #PB_Web_HtmlCode)        - get all code inside the gadget
      GetGadgetItemText(#Web, #PB_Web_PageTitle)       - get title string for the currently displayed page
      GetGadgetItemText(#Web, #PB_Web_StatusMessage)   - get the current message for the browser statusbar
      GetGadgetItemText(#Web, #PB_Web_SelectedText)    - get all currently selected text 

    New EventType() values for the WebGadget
      #PB_EventType_TitleChange       ; page title changed
      #PB_EventType_StatusChange      ; statusbar message changed
      #PB_EventType_PopupWindow       ; a popup was blocked (only if popups are blocked)
      #PB_EventType_DownloadStart     ; loading a page started
      #PB_EventType_DownloadProgress  ; loading progress changed (see Progress, ProgressMax below)
      #PB_EventType_DownloadEnd       ; loading finished (or aborted)
      #PB_EventType_PopupMenu         ; the popup menu is requested (only if the IE menu is blocked)

    For Get/SetGadgetAttribute():
      #PB_Web_BlockPopups        ; block popup windows
      #PB_Web_BlockPopupMenu     ; block IE menu (the above event is fired to allow a custom menu)
      #PB_Web_NavigationCallback ; set a callback to trace (and prevent) navigation (See example)
      #PB_Web_Progress           ; at a DownloadProgress event, get the downloaded data (readonly) may be 0 if unknown
      #PB_Web_ProgressMax        ; at a DownloadProgress event, get the total size (readonly) may be 0 if unknown
      #PB_Web_Busy               ; check if the Gadget is busy loading/rendering (readonly)
      #PB_Web_ScrollX            ; get/set the X scroll position
      #PB_Web_ScrollY            ; get/set the Y scroll position


IDE changes:
------------

Important changes:
 - For Vista compatibility nothing is written in the PureBasic dir anymore
 - The temporary exe is placed in the Windows temp dir
 - The Preferences location was moved to %App Data%\PureBasic\ for all preferences
   NOTE: This cann still be changed with the /P, /A, /T commandline switches to specify different
         locations for the preferences files.
 - New commandline switch /PORTABLE which puts all preferences in the PureBasic dir (as before),
   and disables the creation of the .pb extension for USB sticks and such.


Compiler Options:
 - added new tab with settings for Compile/Run:
    - the debugger type can be chosen for an individual program
    - the current directory for executing the program can be chosen
    - the temporary exe can be created in the source directory
    - external tools can be enabled on a per-program basis (if the option is enabled in the tools config)

 - added tab for compiler constants:
    - special editor constants for build counting
    - custom constants can be defined, even by using environment variables

 - improved "Run" command by keeping all compiled sources ready
 - added ADMIN and USER mode for Vista (to request admin priviledges or disable virtualisation)

 - new pipe based IDE->Compiler communication. (documented in the Library SDK)


Coloring:
 - improved color management: (individual color settings can be disabled)
 - new colors to hilight matching/mismatching braces
 - optional color for procedure backgrounds
 - New color for "custom keywords" to color Preprocessor/Macro packages

AutoComplete:
 - The shortcut to insert a word can now be customized (Shortcut options)
   NOTE: The default is now TAB, so if you are used to the ENTER key, just change it back
 - various improvements of the autocomplete handling

Misc:
 - The font & color for the Toolspanel can be disabled
 - A custom font for the Debug Output window can be specified
Note that the english docs for the Drag&Drop and XML libraries are allready done, so have a look there when in trouble.
(the other stuff is not documented yet)

Here are some examples:

Drag & Drop:
- draging to other applications: http://freak.purearea.net/v4/draglib2.pb
- receiving from other applications: http://freak.purearea.net/v4/DragLib3.pb
- private drag & drop within the application: http://freak.purearea.net/v4/DragLib4.pb

WebGadget:
http://freak.purearea.net/v4/webtest.pb

Thanks a lot to all the alpha testers.

Give this version a lot of testing, and have fun with it...

The PureBasic Team :)

Posted: Thu May 31, 2007 9:46 pm
by Num3
I'm 1st!!!

YESSSSS!!!!!!

:lol:


-Edit-

I really love the XML functions!

And the built-in, Compile Count, and Build Count editor options :D

Thanks a bunch PB team and Alpha testers!


-EDIT 2-

OH MY GOD!!!
The work to update all this
to DX9 is in progress, but it will not be finished for 4.10.
This will be done in the 4.20 release.

Posted: Thu May 31, 2007 9:53 pm
by Inf0Byt3
Second!

Thanks!!!!!!!

Posted: Thu May 31, 2007 9:53 pm
by Fred
On a side note, better install the english version of the doc, as it's the one which has the full XML and Drag&Drop documentation.

Posted: Thu May 31, 2007 10:01 pm
by thefool
On a side note, better install the english version of the doc, as it's the one which has the full XML and Drag&Drop documentation.


edit: Hey fred! Stop copying me

Posted: Thu May 31, 2007 10:34 pm
by MrMat
Excellent! Cheers!

Posted: Thu May 31, 2007 10:36 pm
by Brice Manuel
The work to update all this to DX9 is in progress, but it will not be finished for 4.10. This will be done in the 4.20 release.
:cry:

Posted: Thu May 31, 2007 10:37 pm
by minirop
vely vely good ! :lol:

Posted: Thu May 31, 2007 10:41 pm
by Kale
VERY NICE! thanks guys!

Posted: Thu May 31, 2007 11:29 pm
by Dare
Thanks.

Posted: Thu May 31, 2007 11:35 pm
by Flype
yeahhh,

thanks a lot PB team

lot's of good things inside. :shock:


XML ? Image

Now my PureXML2 lib can rest in peace. that's good, i'm happy of that. Image
And you choose to use the expat library (used by PureXML2) and that's a very good choice (functionality, speed, compatibilitity).


and the drag'n'drop is as impressive as simple to use.


Freak, Fred, well done.

Posted: Thu May 31, 2007 11:36 pm
by DoubleDutch
Great update, thanks! :)

Posted: Thu May 31, 2007 11:44 pm
by traumatic
Always nice to see progress. Thank you! :)

Posted: Thu May 31, 2007 11:57 pm
by Derek
Can't wait to get testing, thanks. :D

Posted: Fri Jun 01, 2007 12:12 am
by Dare
Flype wrote:XML ? Image
:lol: