Hi, I’m implementing “live update” and I’m
running into a problem when loading the downloaded parcel. After loading a change is broadcast… Store.PundleAccess(Object)>>doesNotUnderstand: [9] OverridenMethod>>notifySourceOfOverride:object: [10] OverridenMethod(Override)>>addSource: [11] optimized [] in Override class>>equateComponent:with: [12] OrderedCollection>>do: [13] optimized [] in [] in Override class>>overriddenMethodsDo: [14] IdentityDictionary>>do: [15] optimized [] in Override class>>overriddenMethodsDo: [16] IdentityDictionary>>do: [17] Override
class>>overriddenMethodsDo: [18] Override
class>>overridesDo: [19] Override
class>>equateComponent:with: [20] Store.PundleAccess>>parcel:toPackageNamed: [21] Store.PundleAccess>>parcelToPundle: [22] Store.PundleAccess>>update:with: [23] Store.PundleAccess(Object)>>update:with:from: [24] Parcel
class(Object)>>changed:with: [25] Parcel
class>>triggerParcelLoaded: [26] Parcel>>doComponentLoadedActions [27] Parcel>>quietlyLoadFrom: I suspect that the following method is the cuplprit. The last line is passing in self (aStore.PundleAccess) as the second argument to equateComponent:with:. I reckon
this should actually be the mapped Package. parcel: aParcel toPackageNamed: aString "Convert
aParcel to a package - assumes was saved as a
package." "will... setup database links." |
pkg | pkg := Registry packageNamedOrCreate: aString. pkg startLoad. [ self registerParcel: aParcel to: pkg. aParcel propertyAt:
#packageName put: aString. pkg propertyAt:
#parcelName put: aParcel
name. pkg restoreLinksFrom:
aParcel properties. "special
case stored db links." pkg resetUninstalledStateFrom:
aParcel. pkg markNotModified. ]
ensure: [ pkg endLoad ]. "don't mark converted if already published somewhere." ( aParcel properties includesKey: #dbTrace ) ifFalse: [ pkg addOtherChange:
#convertedParcel ]. Override
equateComponent: aParcel
with: self. “<<<<<<<
self should be pkg??????” I’m not using Store, but have to give Parcels package
names, as that’s what the Runtime Package needs. Any help appreciated here, Thanks, Stewart |
Hi Stewart,
"Stewart MacLean" <[hidden email]> wrote: | Hi, | | I'm implementing "live update" and I'm running into a problem when | loading the downloaded parcel. I would package my runtime with Store unloaded. i.e start frm visual.im, don't load Store and build your runtime. Then see how you get on. HTH | After loading a change is broadcast. | | Store.PundleAccess(Object)>>doesNotUnderstand: | [9] OverridenMethod>>notifySourceOfOverride:object: | [10] OverridenMethod(Override)>>addSource: | [11] optimized [] in Override class>>equateComponent:with: | [12] OrderedCollection>>do: | [13] optimized [] in [] in Override class>>overriddenMethodsDo: | [14] IdentityDictionary>>do: | [15] optimized [] in Override class>>overriddenMethodsDo: | [16] IdentityDictionary>>do: | [17] Override class>>overriddenMethodsDo: | [18] Override class>>overridesDo: | [19] Override class>>equateComponent:with: | [20] Store.PundleAccess>>parcel:toPackageNamed: | [21] Store.PundleAccess>>parcelToPundle: | [22] Store.PundleAccess>>update:with: | [23] Store.PundleAccess(Object)>>update:with:from: | [24] Parcel class(Object)>>changed:with: | [25] Parcel class>>triggerParcelLoaded: | [26] Parcel>>doComponentLoadedActions | [27] Parcel>>quietlyLoadFrom: | | | I suspect that the following method is the cuplprit. The last line is | passing in self (aStore.PundleAccess) as the second argument to | equateComponent:with:. I reckon this should actually be the mapped | Package. | | parcel: aParcel toPackageNamed: aString | "Convert aParcel to a package - assumes was saved as a | package." | "will... setup database links." | | | pkg | | pkg := Registry packageNamedOrCreate: aString. | pkg startLoad. | [ self registerParcel: aParcel to: pkg. | | aParcel propertyAt: #packageName put: aString. | pkg propertyAt: #parcelName put: aParcel name. | pkg restoreLinksFrom: aParcel properties. "special case | stored db links." | pkg resetUninstalledStateFrom: aParcel. | pkg markNotModified. | ] ensure: [ pkg endLoad ]. | "don't mark converted if already published somewhere." | ( aParcel properties includesKey: #dbTrace ) | ifFalse: [ pkg addOtherChange: #convertedParcel | ]. | Override equateComponent: aParcel with: self. "<<<<<<< | self should be pkg??????" | | I'm not using Store, but have to give Parcels package names, as that's | what the Runtime Package needs. | | Any help appreciated here, | | Thanks, | | Stewart | | ----- Eliot Miranda ,,,^..^,,, mailto:[hidden email] VisualWorks Engineering, Cincom Smalltalk: scene not herd Tel +1 408 216 4581 3350 Scott Blvd, Bldg 36 Suite B, Santa Clara, CA 95054 USA Fax +1 408 216 4500 |
In reply to this post by Stew MacLean
On Sat, 25 Nov 2006, Stewart MacLean wrote: > ]. > Override equateComponent: aParcel with: self. "<<<<<<< > self should be pkg??????" Yes, that is the right change to make. We've made the same change in the current 7.5 builds. |
Free forum by Nabble | Edit this page |