Login  |  Packages  |  Support  |  Bugs

Return

Changelog for WinBinder
Release What has changed?
0.46.0 This is the last maintenance release of the alpha branch. WinBinder now does fully support the following PHP versions: 4.3.10 up to 4.4.2 and 5.0.3 up to 5.1.4.

HIGHLIGHTS:

- added the new Form Editor (FE) developed by Rubem and removed the old Layout Editor (LE)

ENHANCEMENTS:

- improved PHP version checking in winbinder.php

- In PHP.INI for version 5.0 and 5.1: added E_STRICT flag to entry error_reporting

- created PHP 5.1.1 path and project files for lcc-win32

- added and optional extra parameter (usually called $lparam3) to window callback functions. This was done via wbCallUserFunction()

- on windows that have the WBC_RESIZE style, $lparam3 (in the callback function) now receives the size of the client area as a LONG. Usually a call to wb_get_size($window, true) would produce the same effect, but it's there anyway to take advantage of the new $lparam3

- Changes in make_release.phpw:

. even less "USER PARAMETERS" to set up (7 strings only)
. force DEBUG = False in wb_setup.pas
. slight adjustments in screen layout
. more adjustments to include PHP 5.1.1 files
. checks if zip file was actually generated
. other changes

- small changes in welcome.phpw

- examples/hyperlink.phpw: changed to show "finger" cursor and underlined text

- examples/printer.phpw: added example how to print directly from a WinBinder enabled application

- resources/wb.ico: added new WinBinder icon

BUG FIXES:

- wb_generic.inc.php: functions generate_ini and parse_ini do now handle double quotes correctly; fixed missing escaping of the '$' character

- wb_windows.inc.php: function wb_set_selected now processes check boxes in menu items as it should; wb_get_text() now returns an array with the whole contents of a ListView control, as stated in the manual - did return null instead

- solved memory leak that occurred on every function call: added some extra calls to efree() in function wbCallUserFunction() in module phpwb_wb_lib.c

- wb_control.c: Rectified wb_set_range() slider TBM_SETRANGEMAX action and other aspects of this function

- WBC_MOUSEMOVE messages were not being sent in certain situations

- InvisibleArea was subclassed to process and send WM_MOUSEMOVE messages to the callback

- wb_refresh() (and wbRefreshControl()):

. completely rewrote the whole function
. default value of parameter 'now' was changed to TRUE
. now it invalidates and redraws only a part of the screen or control when (still undocumented) xpos/ypos/width/height parameters are passed to it. Was buggy prior to this release.
. probably a bit faster for most operations
. if the wb_refresh() command is issued and the xpos/ypos/width/height are set, the window callback function (in PHP) receives a pointer to rectangle (About to change! Should be the area instead, and an array would be great.) as $lparam3. If wb_refresh() acts on the whole window, $lparam3 is zero.

Dimensions should be obtained from $lparam3
as follows:

$address = wb_peek($lparam3, 16);
$num = unpack('L4n', $address);
$xpos = $num['n1'];
$ypos = $num['n2'];
$width = $num['n3'] - $xpos;
$height = $num['n4'] - $ypos;

- Added handling of the official PHP 4.4.2 bug reported at http://bugs.php.net/bug.php?id=36671 and regarding the function file_get_contents in examples/welcome.phpw

- Changes in make_release.phpw:

. now correctly handles/saves the new version no. structure

- Changes in setup:

. many changes and corrections to wb_setup.iss (PHP 5.0 and 5.1, freeimage.dll, etc.)
. separated the script section from wb.iss into wb_setup.pas. A separate file allows correct syntax highlighting in a code editor and allows testing script changes without leaving ISTool (Inno Setup UI)
. other changes

OTHER ACTIVITIES

- updated the PHP 4 engine and the respective extensions to 4.4.2

- removed the redundant PHP binaries and accompanying files (not the extensions) for 5.0.5 and 5.1.2

- uploaded new "minimal" PHP 4.4.2, 5.0.5 and 5.1.2 versions as well as the respective extensions to SF

For further enhancements and bug fixes since the last official release 0.43.164 see the change log.
0.43.164 - New installer includes PHP version 4.4.1, SQLite, FreeImage, HTML sources for manual and other files. Server for downloading PHP 5.0.5 is selectable
- New, much better folder structure (thanks Techtonik, Stefano)
- wb_load_image() and wb_set_image() can load/set small icons (thanks EK)
- wb_get_size() can also return the dimensions of a text in pixels
- wb_sys_dlg_save() now allows a default extension to be added to file names
- wb_set_selected() allows selection of root node in treeviews
- Treeviews now keep the selected item highlighted (usually in gray) when focus is lost
- Implemented non-read-only (editable) combo boxes
- New function: wb_draw_ellipse()
- Included parameter for dashed line styles in some drawing functions
- Lots of changes and fixes in the PHP scripts, as well as a couple of new ones

... and many other fixes and changes as usual. Please make sure you read the changelog for the complete list!


0.41.154 - Implemented the much awaited HTML control
- New memory constants for wb_get_system_info()
- Easy way to set/retrieve columns widths from ListViews
- Custom-drawn windows now created with system background color
- Optional standard window border for naked windows
- Several bug fixes, corrections to manual and other improvements

Please make sure you read the changelog!


0.40.152 ******************************************************************************
* WARNING: THIS VERSION IS NOT 100% BACKWARDS COMPATIBLE. *
* SOME CHANGES WILL AFFECT EXISTING CODE! *
******************************************************************************

This release has many advanced features and contains the biggest set of changes since the beginning of the WinBinder project.

New controls: InvisibleArea, Calendar, HyperLink (thanks to Davide)
Treeviews learned lots of new tricks: associate variables to treeview nodes, expand/collapse nodes, create and delete nodes at will, and more
Associate integer values to combo boxes and list boxes
Maximum/minimum window size, resize and reposition controls when main window changes size, fake split windows
Big changes and enhancements to the documentation and example scripts
Persistent window drawing mechanism
Nested tab controls possible
Several new functions
New tool for easier script execution
Lots of fixes and new functionalities

Please make sure you see the changelog.txt and db_changelog.txt for details.

******************************************************************************
* WARNING: THIS VERSION IS NOT 100% BACKWARDS COMPATIBLE. *
* SOME CHANGES WILL AFFECT EXISTING CODE! *
******************************************************************************


0.38.133 - Applications can be made single instance
- Implemented Always on Top windows
- Windows with no border, no title bar and draggable
- New and improved PHP database library (thanks to Hans) with several enhancements and new documentation
- Programatically minimize / maximize / restore application windows
- New control class for bimapped buttons with automatic tooltips
- Change icons in the taskbar
- wb_get_system_info("DiskDrives") now returns the list of available disk drives
- wb_get_image_size() removed, merged with wb_get_size() which now returns icon sizes too
- Some odd constant names changed at last
- In most (but not all) errors, the warning message will now display the name of the function where the error occurred
- New, smaller php-win.exe does not need php.exe anymore
- Fixed: Closing modeless dialogs terminates applications
- Fixed: Persistent icon bug in ListViews
- Fixed: After switching to another program and back, wb_destroy_window() destroyed the main window instead of the dialog
- Fixed: Modeless dialogs did not always pass the focus to the calling window when closed
- As always, many other fixes and enhancements, several new sample scripts and many additions and corrections to the documentation.

Please make sure you see the changelog.txt and db_changelog.txt for details.


0.36.126 This release consolidates all patches, has many user-requested changes, several new functions an sereval enhancements in the manual. Please see below for a reasonable complete list.

------------------------------------------------------------------------------
Changes in library
------------------------------------------------------------------------------

- "plus" string accepted as accelerator in menus or in wb_create_control($mainwin, Accel, ...)
- All styles that can be set with wb_set_style() can now be set on wb_create_control() too (but not vice-versa yet)
- Arrow keys will change pages of a tab control with the keyboard focus (Part of item #353)
- Edit controls send the WBC_KEYPRESS notification message when a key is pressed. lparam2 contains the key code
- Fixed function wb_set_style(), was broken
- Fixed inconsistency in WBC_DBLCLICK: was being tested in style instead of lparam (thanks Alexandre)
- Item #300 (resize toolbars automatically) - already implemented
- ListView: header selection goes now through WBC_HEADERSEL notification message in $lparam1; Header number is $lparam2. Thus WBC_HEADERSEL must be included as lparam in wb_create_window(). CAUTION: THIS CHANGE MAY BREAK EXISTING CODE.
- Message WBC_HEADERSEL is sent to callback function when a ListView header is clicked
- More options in wb_wait(): WBC_MOUSEUP, WBC_KEYUP
- Moved the OOi interface to a separate file
- New aliases accepted as accelerators in menus or in wb_create_control($mainwin, Accel, ...): "ESC", "PGDN", "PGUP", "INS", "DEL"
- New constant WBC_KEYDOWN, used in wb_wait()
- New constant WBC_KEYUP, used in wb_wait()
- New constant: FTA_REGULAR (Same as FTA_NORMAL)
- New constant: WBC_HEADERSEL
- New function wb_wait() can be used as a simple delay or to verify if a key or mouse button was pressed, useful for lengthy operations
- New function: wb_draw_image() (Issue #138)
- New function: wb_draw_text()
- New function: wb_get_focus(), returns the control or window that has the focus
- New notification: WBC_KEYPRESS
- New wb_get_system_info() parameters (part of item #276):
- "commandline": The original Windows command line including the executable file (PHP.EXE)
- "consolemode": A boolean indicating whether console (DOS box) is active or not
- "computername": The name of the computer, in a network
- "username": The name of the user, in a network
- "screenarea": The total area (x, y, width, height) of the screen, in pixels
- "workarea": The valid area (x, y, width, height) of the screen, in pixels
- "exepath": Path to the main executable (PHP.EXE)
- "systemfont": The default interface font, which will be used in the controls
- No need to include notification messages as lparam when creating a window
- Parameter linewidth works correctly in wb_draw_rect() now
- Solved bug #399, "Menu access keys won't work in some apps"
- Solved issue #299, "Optional dotted lines in treeviews", using wb_set_style()
- Solved serious leakage in some wb_draw* functions
- Some resource leaks solved
- Tab control: tab selection goes now through WBC_HEADERSEL notification message in $lparam1; Tab number is $lparam2. Thus WBC_HEADERSEL must be included as lparam in wb_create_window(). CAUTION: THIS CHANGE MAY BREAK EXISTING CODE.
- wb_create_font() had undefined values for optional parameters, fixed
- wb_create_image(): two optional, extra parameters for use with image libraries (like FreeImage): bmi, bits
- wb_draw_text() can accept flags WBC_CENTER, WBC_LEFT, WBC_RIGHT, WBC_LINES, WBC_ELLIPSIS
- wb_draw_text() now accepts three different vertical alignments: new constants WBC_TOP, WBC_BOTTOM, WBC_MIDDLE
- wb_exec() will give a warning if the executable/target file does not exist
- wb_exec(): new 'o' parameter will "shell execute" a phpw file instead of running it. It will usually run it anyway, except if the user has changed the .phpw association.
- wb_exec(): new parameters 'c' or 'w' run a phpw file in console or windowed mode, respectively
- wb_poke(): an incorrect NULL test was improperly invalidating some results. Fixed.
- wb_send_message(): 0xFFFF (65535) can be used as first parameter (HWND_BROADCAST in Windows API)
- wb_set_style(): changed parameter to set/unset style (bool)
- wb_wait: changed parameter order, now flags is last
- Bug fix: wb_wait was always returning upon keyboard events regardless of flags: fixed.
- Other changes

------------------------------------------------------------------------------
Changes in applications and examples
------------------------------------------------------------------------------

- /Code/tests directory renamed to /Code/Samples
- Changed default Setup directory to C:\WINBINDER
- Changes and fixes in listview_sort.phpw, dblclick.phpw, ttfreader.phpw, tabcontrol.phpw and others
- Code page data in application dll_functions.phpw
- Code samples from /Code/Hello, /Code/minimal, /Code/calc, /Code/TTFReader moved to /Code/Samples
- Corrections and small changes to make_release.phpw
- In listview_sort.phpw, handler was not processing IDCLOSE. Fixed.
- In test_struct.phpw, STRUCT_WBOBJ and STRUCT_WBOBJ_SIZE are undefined constants.
- More examples: wait.phpw
- New DB interface by Hans (see doc)
- New OOi by Alexandre (see doc), moved to separate archive
- New SA (SQLAdmin) app by Hans (see doc)
- New examples: combobox.phpw, wait.phpw, sysinfo.phpw, accel.phpw
- New sample: dib.phpw, needs freeimage.inc.php
- Removed some PHPW sample files, added some, renamed some
- Script freeimage.inc.php added to the distribution
- To Do changed so it can be called from anywhere
- Two new small bitmaps (edit, note) (no big deal)
- Welcome has a new button to call the To Do app
- manytests_main.phpw: renamed some files, other small tweaks
- ttfreader.phpw: one phpw source file only, new accelerators, double-click now closes the Font Select dialog, several small fixes
- Other fixes

------------------------------------------------------------------------------
Changes in documentation
------------------------------------------------------------------------------

- Corrected/enhanced/added at least the following help topics:
- wb_call_function()
- wb_create_control()
- wb_create_font()
- wb_create_image()
- wb_create_window()
- wb_get_function_address()
- wb_draw_line
- wb_draw_rect
- wb_draw_text()
- wb_exec()
- wb_get_focus()
- wb_get_function_address()
- wb_get_size()
- wb_get_system_info()
- wb_load_library()
- wb_send_message()
- wb_set_focus()
- wb_set_size()
- wb_set_style()
- wb_set_visible()
- wb_wait()
- Many new tips, new sample code, more corrections, more keywords
- More info on Callback functions and window handlers, Windows messages, and others
- New default position for help window (winbinder_help.chm)
- Other changes

------------------------------------------------------------------------------
Changes in C code
------------------------------------------------------------------------------

- A call to wbSetStyle() was added to wbCreateControl(), replaces some existing code
- Added parameter bSet to wbSetStyle()
- Assignments to hCurrentDlg in the application window were removed in wb_window.c. This helps to solve part of bug #399
- EditBox was subclassed to notify keystrokes to main window
- New C funtions: wbDrawBitmap(), wbGetFont(), wbDrawText()
- New static function EditProc() in wb_control.c
- Removed wbGetWindowStyle(), wbSetWindowStyle() (low-level functions)
- Removed wbIsWBObj() call in DrawEnd(): this solves leakage in wb_draw* functions
- SetFocus() call was removed in TabPageProc: This solves bug #399
- Some new WBC_* constants in wb.h, changed phpwb_export.c accordingly
- Tab controls have style WS_TABSTOP as before with no visible problems. This restores the right/left arrow functionality, but does not yet give the focus to other controls with tab/alt+tab
- WBC_GETFOCUS, WBC_HEADERSEL values changed
- wbDrawRect() now uses MoveTo / LineTo instead of FrameRect()
- wbDrawText() now processes text flags
- wbExec() calls WB apps, param may be "windowed", "console" or nothing
- wbGetSystemInfo() changed to LONG
- wbMakeAccelFromString(): buffer increased to 99 characters, strings added
- wb_window.c: DefaultWBProc(): WBWM_KEYPRESS callback
- Many other changes
0.34.117 - New setup application for easy installation
- New functions to directly access Windows API
- Many changes and enhancements to the manual and new overviews
- New / enhanced PHP code samples
- New DLLs for PHP versions 5.0.3 and 4.3.10
- Bug fixes
- Other changes

Please be sure to check the changelog for the complete list.
0.33.114 - Added new DLL for PHP 5.0.3. This solves the "module API=20040412" vs. "module API=20041030" issue

Other changes from version 0.33 build 113:

- New functions to change fonts
- New functions to draw lines and rectangles (filled and hollow)
- Callback functions can handle left/middle/right mouse buttons, mouse movement, double-click, down/up mouse buttons, Ctrl/Shift/Alt key modifiers
- StatusBar width and position are automatically updated when main window is resized
- New and updated OOi interface (by Alexandre) with new Minesweeper clone example
- Several fixes and updates in manual
- Several bug fixes, other enhancements

Make sure you check the changelog for the complete list.
0.33.113 - New functions to change fonts
- New functions to draw lines and rectangles (filled and hollow)
- Callback functions can handle left/middle/right mouse buttons, mouse movement, double-click, down/up mouse buttons, Ctrl/Shift/Alt key modifiers
- StatusBar width and position are automatically updated when main window is resized
- New and updated OOi interface (by Alexandre) with new Minesweeper clone example
- Several fixes and updates in manual
- Several bug fixes, other enhancements

Make sure you check the changelog for the complete list.
0.32.108 This release has several enhancements and fixes. Here are the main ones:

- A working concept of a visual form editor for WinBinder
- New functions: wb_get_position(), wb_get_size(), wb_get_id(), wb_get_item_list()
- Fixes in wb_get_text() and wb_set_item()
- Reviewed and updated object-oriented interface
- Independent radio button groups now possible within the same window
- New interface for the make_release application
- Many small improvements and other bug fixes

Make sure you check the changelog for the complete list.
0.31.104 This release has many bug fixes and more enhancements. the main ones are:

- Fixed bug that made some classes appear 'wrong' over tab pages in Windows XP
- New style options: grid lines and check boxes in ListViews; tick marks in Sliders; sunken borders in various classes; wrap lines in labels
- Consistent processing of focus and double-click notification messages
- New functionalities and fixes to low-level functions
- Several enhancements to the example and test applications
- Several other enhancements and various bugs corrected
- Some enhancements to web site

Some fixes werw quite major and may be still unstable, so please report any bugs you find.
0.30.101 This is a major update with several important changes.

- Timers
- Double-clicks in list views, treeviews and list boxes
- Sort list view columns, list boxes, and combo boxes
- New container pages inside tab controls for more reliable and better operation
- Tab control pages can be selected programmatically
- Keyboard accelerators in tab controls
- Simpler creation of static controls, disabled controls, and invisible controls
- Several bugs corrected, fixes to some paint problems
- Several improvements and additions to documentation
- Some new and improved applications

Return

PRIVACY POLICY  |  CREDITS
Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Mar 21 17:05:02 2024 UTC
Bandwidth and hardware provided by: pair Networks