Dolphinharbor Shell project and ITEMIDLIST

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Dolphinharbor Shell project and ITEMIDLIST

Sergei Gnezdov
I was trying to import "DH Shell Core.pac" into my clean image with
the latest patches installed and I've got a message that ITEMIDLIST
class already exists in the system.  The message says that the class
will be replaced and that bad things might happen if I proceed.

Is anything I can do to solve the problem?  Did I hit namespace
limitations?


Thank you


Reply | Threaded
Open this post in threaded view
|

Re: Dolphinharbor Shell project and ITEMIDLIST

Blair McGlashan
"Sergei Gnezdov" <[hidden email]> wrote in message
news:[hidden email]...
> I was trying to import "DH Shell Core.pac" into my clean image with
> the latest patches installed and I've got a message that ITEMIDLIST
> class already exists in the system.  The message says that the class
> will be replaced and that bad things might happen if I proceed.
>

I think you will probably be OK in this case, although you should work with
a test image that you don't mind damaging.

> Is anything I can do to solve the problem?

Yes, first of all you need to get some idea of the clashing methods, and
decide which to keep. Using Ian's Chunk Browser (www.iandb.org.uk), open the
"DH Shell Core.pac". Configure the chunk browser to show only those chunks
that represent changes (those with a red X against them). This should list
all the ITEMIDLIST methods that are clashing. You can use Diff Browser to
compare them to see the actual differences. From a brief look there seem to
be only 2, and I think you should probably stick with the system
definitions.

Next note all existing methods in the class. Now proceed and load the
package. Put the class back into its original package, 'Windows Shell'. Now
make all the newly added methods loose in the 'DH Shell Core' package - the
easiest way to do this is to drag open the package browser on 'DH Shell
Core', switch to the loose methods tab, and then drag the methods from a
class browser and dropping them over the loose methods pane.

Now resave the 'DH Shell Core' package, and quit your image without saving
it. On restart you can proceed and load the reshaped 'DH Shell Core' package
which should no longer clash.

>...Did I hit namespace
> limitations?

Not really. There is a single ITEMIDLIST structure, and there should only
really be one class to represent it. At the time the package was written,
Dolphin did not include this structure. Subsequently it was added creating
the clash with the package. Of course a namespace system could have
prevented this clash, but then you'd have to competing definitions where
there should only be one.

Regards

Blair


Reply | Threaded
Open this post in threaded view
|

Re: Dolphinharbor Shell project and ITEMIDLIST

Louis Sumberg-2
In reply to this post by Sergei Gnezdov
Hi Sergei,

The short answer is that it's ok to import the package, despite the warning
message.

The longer explanation is that OA added ITEMIDLIST (in Dolphin 5.1) - but
since it's not used in the base system, then unless some other third party
package is using it, which isn't likely based on what I've seen in the
newsgroup, it should be ok to overwrite OA's version for now.

Two possible solutions I can think of are:
1) OA use the DolphinHarbor implementation of ITEMIDLIST, or
2) Steve Waring and I put up a new version of the Shell packages which
eliminates the conflict.

Blair - any thoughts on #1?

-- Louis


Reply | Threaded
Open this post in threaded view
|

Re: Dolphinharbor Shell project and ITEMIDLIST

Blair McGlashan
"Louis Sumberg" <[hidden email]> wrote in message
news:br47tq$25r151$[hidden email]...
> Hi Sergei,
>
> The short answer is that it's ok to import the package, despite the
warning

> message.
>
> The longer explanation is that OA added ITEMIDLIST (in Dolphin 5.1) - but
> since it's not used in the base system, then unless some other third party
> package is using it, which isn't likely based on what I've seen in the
> newsgroup, it should be ok to overwrite OA's version for now.
>
> Two possible solutions I can think of are:
> 1) OA use the DolphinHarbor implementation of ITEMIDLIST, or
> 2) Steve Waring and I put up a new version of the Shell packages which
> eliminates the conflict.
>
> Blair - any thoughts on #1?

We can do that if that is alright with you.

Regards

Blair


Reply | Threaded
Open this post in threaded view
|

Re: Dolphinharbor Shell project and ITEMIDLIST

Louis Sumberg-2
Hi Blair,

> > 1) OA use the DolphinHarbor implementation of ITEMIDLIST

> We can do that if that is alright with you.

That's great!  Any questions, please let Steve or me know.  Thank you.

-- Louis