All,
I recently implemented a browse for folder dialog for ooDialog and ran into
a problem that is only going to get worse as I try to implement
functionality provided by Windows 7.
As is probably obvious to people, Windows Vista and Windows 7 has features
and functionality that are not available on XP. Up until now, I've been
able to add Vista only features to ooDialog by raising a syntax condition
if a Vista or later only method is invoked when ooDialog is running on XP
or earlier. The documentation specifies this for those methods.
For instance, the MonthCalendar getCalendarCount() method will only work on
Vista or later. If you invoke that method while on XP a syntax condition
is raised. So far, good. If the ooDialog programmer needs the program to
run on XP, she can't use that method in her program. Which is fine, the
method absolutely can not work on XP any way.
But, when I was implementing the BrowseForFolder dialog I wanted to us a
Windows API that is only available in Vista or later. The technique I
describe above doesn't work because if the API call is compiled in to the
oodialog.dll, the operating system won't load the DLL and ooDialog simply
won't work on XP. Eventually I was able to find a work around that
bypassed the Vista only API. But, it made the whole thing much harder than
need be, and for a lot of the new functionality in Windows 7 (and Vista,)
there simply won't be any work arounds.
So, I'm curious as to what users of ooDialog would like to see.
* One solution would be to have 2 versions of oodialog.dll and
oodialog.cls. One version would only load on Vista or later and the other
version would be as it is now and load on XP, Vista, and Windows 7. The
Vista or later version would have Windows 7 functionality not present in
XP. The other version would have some Windows 7 features, that would only
work if you were running on Windows 7, but ooDialog could still be used on
XP.
* Another solution would be to not add any new features of Windows 7 and
restrict ooDialog to XP only.
* Another solution would be to pick some arbitrary release number and say
XP is no longer supported. Say ooDialog 4.3.0 is only supported on Vista
or higher. If you need to run on XP, then you must use a 4.2.x ooDialog.
I personally would like to move on, but I'm wondering how this would effect
others?
--
Mark Miesfeld
------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Oorexx-users mailing list
Oorexx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-users