<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Adrian,<div><br></div><div>I haven't tried your code myself, but a brief visual scan suggests at least one problem that I've identified below...</div><div><br><div><div>On Aug 30, 2008, at 9:32 PM, r00t uk wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">Hello All<br><br>I am slowly working my way through Squeak and Seaside using "An Introduction to Seaside" and the Seaside examples as my learning guides.&nbsp; I have come across an issue which I don't understand, and I am hoping someone could enlighten me as to what is going wrong.&nbsp; The two methods below are called by <span style="font-family: arial,helvetica,sans-serif;">MLHeadDataModelView>>renderContentOn:,&nbsp;</span> with MLHeadDataModelView>>renderCompanyTextInputOn: resulting in a MessageNotUnderstood: WARenderCanvas>>value: error.<br> <br>The instance methods are:<br><br>MLHeadDataModelView>>renderCompanyTextInputOn: "This method generates the 'MessageNotUnderstood: WARenderCanvas>>value:' error"<br><span style="font-family: courier new,monospace;">self </span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; renderLabel: 'Company Name: '</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; input: [</span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; html textInput;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; value: self headDataModelView companyName;</span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; callback: [:value | self headDataModelView companyName: value]]</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; output: self headDataModelView companyName</span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; on: html.</span><br><br>MLHeadDataModelView>>renderEmployeeTextInputOn:<br><span style="font-family: courier new,monospace;">self</span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; renderLabel: 'Employee Name: '</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; input: [</span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; html textInput setFocus;</span></div></blockquote><div><br></div><div>In Smalltalk the semantics of a cascade (indicated by the semi-colon) means that the following #value: message is being sent to the receiver of the last message. The last message is #setFocus, and the receiver of the #setFocus was the object returned by the #textInput message. Thus, #value: is being sent to a WATextInputTag (or similar object), not to the WARenderCanvas (which is probably what you really wanted).</div><br><blockquote type="cite"><div dir="ltr"><span style="font-family: courier new,monospace;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;value: self headDataModelView employeeName;</span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; callback: [:value | self headDataModelView employeeName: value]]</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; output: self headDataModelView employeeName</span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; on: html.</span><br><br>MLHeadDataModelView>>initialize<br><span style="font-family: courier new,monospace;">initialize</span><br>&nbsp;&nbsp;&nbsp;<span style="font-family: courier new,monospace;"> super initialize.</span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">&nbsp;&nbsp; self headDataModelView: MLHeadDataModel new.</span><br><br>I don't get any error messages if I use the <span style="font-family: courier new,monospace;">on:of:</span> style, but not sure what exact difference or benefits are between the two.</div></blockquote><div><br></div>The difference is that you don't have a #setFocus message.</div><div><br><blockquote type="cite"><div dir="ltr">MLHeadDataModelView>>renderCompanyTextInputOn:<br><span style="font-family: courier new,monospace;">renderCompanyTextInputOn: html<br>self </span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; renderLabel: 'Company Name: '</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; input: [</span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; html textInput on: #companyName of: self headDataModelView]</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; output: self headDataModelView companyName</span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; on: html.</span><br><br>MLHeadDataModelView>>renderEmployeeTextInputOn:<br><span style="font-family: courier new,monospace;">renderEmployeeTextInputOn: html</span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">self </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; renderLabel: 'Employee Name: '</span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; input: [</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; html textInput on: #employeeName of: self headDataModelView]</span><br style="font-family: courier new,monospace;"> <span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; output: self headDataModelView employeeName</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; on: html.</span><br> <br>Thanks in advance for any feedback.<br><br>Regards<br>Adrian</div></blockquote><div><br></div>Hope that helps, and welcome to Seaside!</div><div><br></div><div>James Foster</div><div><br></div></div></body></html>