PureBasic 4.10 beta 1 (Windows) released!

Developed or developing a new product in PureBasic? Tell the world about it.
freak
PureBasic Team
PureBasic Team
Posts: 5940
Joined: Fri Apr 25, 2003 5:21 pm
Location: Germany

PureBasic 4.10 beta 1 (Windows) released!

Post 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 :)
Last edited by freak on Thu May 31, 2007 9:50 pm, edited 1 time in total.
quidquid Latine dictum sit altum videtur
Num3
PureBasic Expert
PureBasic Expert
Posts: 2812
Joined: Fri Apr 25, 2003 4:51 pm
Location: Portugal, Lisbon
Contact:

Post 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.
Last edited by Num3 on Thu May 31, 2007 10:06 pm, edited 4 times in total.
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Post by Inf0Byt3 »

Second!

Thanks!!!!!!!
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
Fred
Administrator
Administrator
Posts: 18162
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Post 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.
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post 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
MrMat
Enthusiast
Enthusiast
Posts: 762
Joined: Sun Sep 05, 2004 6:27 am
Location: England

Post by MrMat »

Excellent! Cheers!
Mat
Brice Manuel

Post 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:
minirop
User
User
Posts: 24
Joined: Tue Nov 28, 2006 12:21 am

Post by minirop »

vely vely good ! :lol:
Kale
PureBasic Expert
PureBasic Expert
Posts: 3000
Joined: Fri Apr 25, 2003 6:03 pm
Location: Lincoln, UK
Contact:

Post by Kale »

VERY NICE! thanks guys!
--Kale

Image
Dare
Addict
Addict
Posts: 1965
Joined: Mon May 29, 2006 1:01 am
Location: Outback

Post by Dare »

Thanks.
Dare2 cut down to size
User avatar
Flype
Addict
Addict
Posts: 1542
Joined: Tue Jul 22, 2003 5:02 pm
Location: In a long distant galaxy

Post 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.
Last edited by Flype on Thu May 31, 2007 11:49 pm, edited 3 times in total.
No programming language is perfect. There is not even a single best language.
There are only languages well suited or perhaps poorly suited for particular purposes. Herbert Mayer
User avatar
DoubleDutch
Addict
Addict
Posts: 3220
Joined: Thu Aug 07, 2003 7:01 pm
Location: United Kingdom
Contact:

Post by DoubleDutch »

Great update, thanks! :)
https://deluxepixel.com <- My Business website
https://reportcomplete.com <- School end of term reports system
traumatic
PureBasic Expert
PureBasic Expert
Posts: 1661
Joined: Sun Apr 27, 2003 4:41 pm
Location: Germany
Contact:

Post by traumatic »

Always nice to see progress. Thank you! :)
Good programmers don't comment their code. It was hard to write, should be hard to read.
Derek
Addict
Addict
Posts: 2354
Joined: Wed Apr 07, 2004 12:51 am
Location: England

Post by Derek »

Can't wait to get testing, thanks. :D
Dare
Addict
Addict
Posts: 1965
Joined: Mon May 29, 2006 1:01 am
Location: Outback

Post by Dare »

Flype wrote:XML ? Image
:lol:
Dare2 cut down to size
Post Reply