I have published a new version of the "Registry" package to the Cincom
Public Store Repository. Compared with version 25 which comes with VisualWorks 7.7, it changes four things: - The namespace "Registry" has been renamed to "Win32Registry" to avoid naming conflicts with Store.Registry. - The package now uses the Unicode functions of the Windows Advanced API instead of the ANSI functions which were used before. - The method Key>>closeNow has been renamed to Key>>flushAndClose and now actually closes the registry key (MSDN says that flushing does not close the key). Key>>closeNow only flushed the registry, but didn't close it. Key>>closeNow still exists, delegates to flushAndClose, and is marked as deprecated. - Several private methods of Win32API with names ending in with:with:with:* have been renamed to match the names of the corresponding methods of Win32SystemSupport where possible, and their parameter names have been changed to match the names used in the current Advanced API documentation at MSDN. So far, the new version is blessed as "Work in Progress" and has a non-trunc name, because it has not yet been intensively tested. I have developed and tested with VW 7.7 NC on Mac OS X 10.6 and Windows XP SP 3 only, and do not yet know if there are any incompatibilities with VW 7.6. The new package versions are: Registry 27 + Unicode RegistryTests 10 + Unicode I would appreciate if users of the Registry package could spare some minutes to test if their software works with the new version. Please let me know of the results. In the meantime, I will check if it is compatible with other releases of VisualWorks, and maybe add some more test cases. Best regards, Joachim Geidel _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
I have updated Registry again. It should now be compatible with VisualWorks
7.6 and earlier (I have tested it with 7.6 only). I had used two methods introduced with VW 7.7 which I have replaced. The version is Registry 27 + Unicode.1 It's still blessed as work in progress. Best regards, Joachim Geidel Am 14.02.10 14:07 schrieb Joachim Geidel: > I have published a new version of the "Registry" package to the Cincom > Public Store Repository. Compared with version 25 which comes with > VisualWorks 7.7, it changes four things: > > - The namespace "Registry" has been renamed to "Win32Registry" to avoid > naming conflicts with Store.Registry. > > - The package now uses the Unicode functions of the Windows Advanced API > instead of the ANSI functions which were used before. > > - The method Key>>closeNow has been renamed to Key>>flushAndClose and now > actually closes the registry key (MSDN says that flushing does not close the > key). Key>>closeNow only flushed the registry, but didn't close it. > Key>>closeNow still exists, delegates to flushAndClose, and is marked as > deprecated. > > - Several private methods of Win32API with names ending in with:with:with:* > have been renamed to match the names of the corresponding methods of > Win32SystemSupport where possible, and their parameter names have been > changed to match the names used in the current Advanced API documentation at > MSDN. > > So far, the new version is blessed as "Work in Progress" and has a non-trunc > name, because it has not yet been intensively tested. I have developed and > tested with VW 7.7 NC on Mac OS X 10.6 and Windows XP SP 3 only, and do not > yet know if there are any incompatibilities with VW 7.6. > > The new package versions are: > Registry 27 + Unicode > RegistryTests 10 + Unicode > > I would appreciate if users of the Registry package could spare some minutes > to test if their software works with the new version. Please let me know of > the results. In the meantime, I will check if it is compatible with other > releases of VisualWorks, and maybe add some more test cases. > > Best regards, > Joachim Geidel > > > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Joachim
What improvements should we see for vw 7.6? Terry =========================================================== Terry Raymond Crafted Smalltalk 80 Lazywood Ln. Tiverton, RI 02878 (401) 624-4517 [hidden email] <http://www.craftedsmalltalk.com> =========================================================== > -----Original Message----- > From: [hidden email] [mailto:[hidden email]] On Behalf Of Joachim Geidel > Sent: Monday, February 15, 2010 3:05 PM > To: VWNC List > Subject: Re: [vwnc] New version of the "Registry" package > > I have updated Registry again. It should now be compatible with VisualWorks > 7.6 and earlier (I have tested it with 7.6 only). I had used two methods > introduced with VW 7.7 which I have replaced. The version is > Registry 27 + Unicode.1 > It's still blessed as work in progress. > > Best regards, > Joachim Geidel > > Am 14.02.10 14:07 schrieb Joachim Geidel: > > > I have published a new version of the "Registry" package to the Cincom > > Public Store Repository. Compared with version 25 which comes with > > VisualWorks 7.7, it changes four things: > > > > - The namespace "Registry" has been renamed to "Win32Registry" to avoid > > naming conflicts with Store.Registry. > > > > - The package now uses the Unicode functions of the Windows Advanced API > > instead of the ANSI functions which were used before. > > > > - The method Key>>closeNow has been renamed to Key>>flushAndClose and now > > actually closes the registry key (MSDN says that flushing does not close the > > key). Key>>closeNow only flushed the registry, but didn't close it. > > Key>>closeNow still exists, delegates to flushAndClose, and is marked as > > deprecated. > > > > - Several private methods of Win32API with names ending in with:with:with:* > > have been renamed to match the names of the corresponding methods of > > Win32SystemSupport where possible, and their parameter names have been > > changed to match the names used in the current Advanced API documentation at > > MSDN. > > > > So far, the new version is blessed as "Work in Progress" and has a non-trunc > > name, because it has not yet been intensively tested. I have developed and > > tested with VW 7.7 NC on Mac OS X 10.6 and Windows XP SP 3 only, and do not > > yet know if there are any incompatibilities with VW 7.6. > > > > The new package versions are: > > Registry 27 + Unicode > > RegistryTests 10 + Unicode > > > > I would appreciate if users of the Registry package could spare some minutes > > to test if their software works with the new version. Please let me know of > > the results. In the meantime, I will check if it is compatible with other > > releases of VisualWorks, and maybe add some more test cases. > > > > Best regards, > > Joachim Geidel > > > > > > _______________________________________________ > > vwnc mailing list > > [hidden email] > > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Terry,
> What improvements should we see for vw 7.6? The difference between the version I published yesterday and the previous work in progress version is that it actually works in VW 7.6. ;-) There are three main differences between the version of Registry distributed with VW 7.6 (version 23 if I am not mistaken) and the new version. The first was introduced with version 24 which is included in VW 7.7. It's a bug fix which ensures that non-null terminated strings can be read correctly from the registry (the last character of such strings was truncated when using Registry 23). The latest version adds two more changes. One is the renaming of the namespace Registry to Win32Registry. This avoids occasional problems where a reference to Registry was erroneously resolved as Store.Registry in Code using the Registry package, or as the Registry namespace in Store code. I encountered this problem when loading a new version of an already loaded package with Store extensions into an image where the Registry package was loaded. The second difference is that Registry used the ANSI functions of the Windows Advanced API (advapi.dll) for accessing the registry, and the new version uses the Unicode versions of these functions. Using the ANSI functions means that one can't use two-byte strings as names for registry keys and values, and that strings stored in the registry are restricted to one-byte strings, too. Also, the length of value names is restricted to 260 bytes when using ANSI functions on Windows 2000, while they can have up to 16,363 characters when using Unicode (on XP, Vista and Windows 7, there is no such difference). Apart from this, there is no new functionality in the new version. It does not offer the whole range of registry functions, e.g. the functions which associate registry access with transactions or which deal with registry reflection. It also does not really offer support for using security attributes, volatility options and class types etc. Is there a need for adding more functionality? Joachim Geidel _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Joachim Geidel
IIRC someone commented that the class name shouldn't contain "32" if the
code isn't limited to 32-bit Windows. Admittedly testing that it would work on 64-bit Windows is hard without a VM :-). Steve > -----Original Message----- > From: [hidden email] [mailto:[hidden email]] On > Behalf Of Joachim Geidel > Sent: 15 February 2010 22:05 > To: VWNC List > Subject: Re: [vwnc] New version of the "Registry" package > > I have updated Registry again. It should now be compatible with > VisualWorks > 7.6 and earlier (I have tested it with 7.6 only). I had used two > methods > introduced with VW 7.7 which I have replaced. The version is > Registry 27 + Unicode.1 > It's still blessed as work in progress. > > Best regards, > Joachim Geidel > > Am 14.02.10 14:07 schrieb Joachim Geidel: > > > I have published a new version of the "Registry" package to the > Cincom > > Public Store Repository. Compared with version 25 which comes with > > VisualWorks 7.7, it changes four things: > > > > - The namespace "Registry" has been renamed to "Win32Registry" to > avoid > > naming conflicts with Store.Registry. > > > > - The package now uses the Unicode functions of the Windows Advanced > API > > instead of the ANSI functions which were used before. > > > > - The method Key>>closeNow has been renamed to Key>>flushAndClose > now > > actually closes the registry key (MSDN says that flushing does not > close the > > key). Key>>closeNow only flushed the registry, but didn't close it. > > Key>>closeNow still exists, delegates to flushAndClose, and is marked > as > > deprecated. > > > > - Several private methods of Win32API with names ending in > with:with:with:* > > have been renamed to match the names of the corresponding methods of > > Win32SystemSupport where possible, and their parameter names have > been > > changed to match the names used in the current Advanced API > documentation at > > MSDN. > > > > So far, the new version is blessed as "Work in Progress" and has a > non-trunc > > name, because it has not yet been intensively tested. I have > developed and > > tested with VW 7.7 NC on Mac OS X 10.6 and Windows XP SP 3 only, and > do not > > yet know if there are any incompatibilities with VW 7.6. > > > > The new package versions are: > > Registry 27 + Unicode > > RegistryTests 10 + Unicode > > > > I would appreciate if users of the Registry package could spare some > minutes > > to test if their software works with the new version. Please let me > know of > > the results. In the meantime, I will check if it is compatible with > other > > releases of VisualWorks, and maybe add some more test cases. > > > > Best regards, > > Joachim Geidel > > > > > > _______________________________________________ > > vwnc mailing list > > [hidden email] > > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Joachim Geidel
> ----- Ursprüngliche Nachricht -----
> Von: Steven Kelly > Gesendet: 16.02.10 10:28 Uhr > An: VWNC List > Betreff: Re: [vwnc] New version of the "Registry" package > > IIRC someone commented that the class name shouldn't contain "32" if the > code isn't limited to 32-bit Windows. Admittedly testing that it would > work on 64-bit Windows is hard without a VM :-). > > Steve I saw Thomas Brodt's message only after renaming the namespace. I'll change the name of the namespace and of the Win32* classes. I have to publish the package again with a trunk version name anyway. Concerning 64-bit Windows support, there are complicated things going on in the Windows registry: "On 64-bit Windows, portions of the registry entries are stored separately for 32-bit application [sic] and 64-bit applications and mapped into separate logical registry views using the registry redirector and registry reflection, because the 64-bit version of an application may use different registry keys and values than the 32-bit version." Source: http://msdn.microsoft.com/en-us/library/ms724072(VS.85).aspx The Registry package does not (yet) support the special functions of the Advanced API for explicitly dealing with redirection and registry reflection, which IMO means that it does not yet fully support 64-bit Windows. OTOH, if complete coverage of the registry API is the criterion, the package does not even fully support 32-bit Windows. :-) Joachim _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
As requested by the overwhelming majority of those who answered my previous
messages about a new version of the Registry package, I have updated the package again and renamed its namespace and all classes which had a name starting with Win32.(*) The new packages in the Public Store Repository are: Registry 28 RegistryTests 11 Changes between version 25 which is distributed with VisualWorks 7.7 and 28: - The ANSI functions of the Windows Advanced API for accessing the Windows registry have been replaced by their corresponding Unicode functions. This also means that Strings are now stored in the registry with UTF-16 encoding. - Determining the concrete subclasses of Key and Value has been simplified. Key is no longer a dependent of ObjectMemory, but registers with SystemEventInterest. - The namespace Registry and all classes named Win32* have been renamed to WindowsRegistry*. - Post-load and pre-unload actions have been cleaned up and corrected. Recompilation of the WindowsRegistryAPI methods has been added as a post-load action for VisualWorks 7.6 and earlier. - The method Key>>closeNow has been renamed to Key>>flushAndClose and now actually closes the registry key. Key>>closeNow only flushed the registry, but didn't close it (MSDN says that flushing does not close the key). Key>>closeNow still exists and delegates to flushAndClose. - Several private methods of Win32API/WindowsRegistryAPI with names ending in with:with:with:* have been renamed to match the names of the corresponding methods of Win32SystemSupport where possible, and their parameter names have been changed to match the names used in the current Advanced API documentation at MSDN. - Some comment changes and cosmetic code cleanup to reduce the number of Code Critic warnings. Best regards, Joachim Geidel ---- (*) 2 out of 3, not counting Travis as a user. ;-) _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Free forum by Nabble | Edit this page |