RE: ShLwApi translation problem
"Alec Bergamini" <[email protected]> Wed, 15 Jun 2005 08:11:02 -0700
| Newsgroups | gmane.comp.lang.delphi.jedi |
|---|---|
| Message-ID | <[email protected]> |
Marcel,
>> Does this make a difference?
Yes, all the difference in the world. I never would have caught the
subtle difference in the REFIID and the CLSID.
If you are going to make fixes to the posted shlwapi.pas file here's a
summary of some needed changes. This is not a complete review of
shlwapi.h/pas, just the parts I needed.
CLSID_QueryAssociations: TGUID = (D1: $c46ca590; D2: $3c3f; D3: $11d2;
D4: ($be, $e6, $00, $00, $f8, $05, $ca, $57));
Should be
CLSID_QueryAssociations: TGUID = (D1:$a07034fd; D2:$6caa; D3:$4954;
D4:($ac, $3f, $97, $a2, $72, $16, $f9, $8a));
also
IQueryAssociation should be IQueryAssociations and its GetEnum member
function need to have the last parameter (ppvOut) changed to be an out.
Thanks very much for your help on this. It turns out that having a
reference to IQueryAssociations is very useful writing efficient Shell
code that needs to make lots of shell query calls. While it's possible
to get query the same information with higher level calls like
AssocQueryString, these calls are not as efficient because they
internally create and destroy the query object with each call. With
AssocCreate I can create the IQueryAssociations once for all my queries.
(At least, this is Microsoft's recommendation :-)
Regards,
Alec Bergamini
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/Delphi-JEDI/
<*> To unsubscribe from this group, send an email to:
[email protected]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/