【问题标题】:Squeak 5.1 and Seaside Control PanelSqueak 5.1 和 Seaside 控制面板
【发布时间】:2018-01-06 12:32:15
【问题描述】:

单击 Seaside 控制面板上的“浏览”按钮时出现 DNU 错误。

重现: 顶部菜单->应用程序->海边控制面板->浏览->抛出字典 DNU #collectWithIndex:

调试器显示它在 PluggableTreeMorph 中发生,因此这是一个 GUI 问题。

我正在运行 Squeak5.1-16548-64bit.image

包安装如下:

 Installer gemsource
  project: 'metacello';
  addPackage: 'ConfigurationOfMetacello';
  install.

"Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' symbolic version"
((Smalltalk at: #ConfigurationOfMetacello) project 
  version: #'previewBootstrap') load.

"Load the Preview version of Metacello from GitHub"
(Smalltalk at: #Metacello) new
  configuration: 'MetacelloPreview';
  version: #stable;
  repository: 'github://Metacello/metacello:configuration';
  load.

"Now load latest version of Metacello"
(Smalltalk at: #Metacello) new
  baseline: 'Metacello';
  repository: 'github://Metacello/metacello:master/repository';
  get.
(Smalltalk at: #Metacello) new
  baseline: 'Metacello';
  repository: 'github://Metacello/metacello:master/repository';
  load.


   Metacello new
        configuration: 'Seaside3';
        repository: 
    'http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main';
        version: #stable;
        load: 'OneClick'.

(ConfigurationOfGrease project version: #stable) load

非常感谢您的建议。

谢谢

【问题讨论】:

  • 如果您不想等待修复,您必须自己更改代码才能使其立即工作。

标签: squeak seaside


【解决方案1】:

恭喜,您发现了一个错误;) Squeak 方面发生了我们不知道的变化。我在这里打开了一个问题:https://github.com/SeasideSt/Seaside/issues/982

【讨论】:

  • 谢谢。从链接 问题似乎是预期类型(可序列集合)和提供类型(字典)之间的不匹配(2016 年在 Squeak 方面更改)。如果我解决了这个问题会有帮助吗?或者您对应该在什么/哪里进行更改有一个可行的想法?
  • 改变并不难。非常欢迎您在 github 上打开拉取请求并进行修复。请注意,使用 Git、FileTree(外部文件格式)等进行正确设置有点棘手。
  • 我想我找到了 Dictionary 需要更改的地方。我也不确定要更改什么(我尝试了 OrderedCollection of Associations 无济于事)` WARequestHandler->handlersOfDispatcher:aWADispatcher` 我可以继续挖掘,但也许有人知道应该返回什么样的 SequuncableCollection .. 如果不行,告诉我,我会继续调试的。
  • OrderedCollection of Associations 是正确的,IIRC。但是我必须去检查关联的键和值需要什么样的类型。
【解决方案2】:

似乎对我有用,在 squeak 5.1 上新安装的 seaside 3 中是

WARequestHandlerBrowser>>#handlersOfDispatcher:
handlersOfDispatcher: aWADispatcher

    ^ aWADispatcher isDispatcher
        ifTrue: [ | list |
            list := OrderedCollection new.
            aWADispatcher handlers keysAndValuesDo: [:key :value |
                list add: value].
            list]
        ifFalse: [#()]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多