From: Meinrad Recheis Date: 2006-05-29T05:27:19+09:00 Subject: Re: foxGUIb GUI and code separation question ------=_Part_20631_768067.1148848035387 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline On 5/28/06, Nuralanur@aol.com wrote: > > > While working through example 1 in the user's guide to foxGUIb, > I am running into problems when I try to separate GUI design and > code. Inches.rb is ok, but ExtendInches.rb doesn't work (see the > errors file). > > I've attached the two files. > What am I doing wrong ? > > Thanks in advance, > > Best regards, > > Axel > ExtendInches.rb:17:in `initialize': wrong number of arguments (1 for 0) > (ArgumentError) > from ExtendInches.rb:17 > you get the error message because you try to instantiate an InchesX object by calling an Inches constructor. you are mixing "extending a class" with "deriving a subclass" you can do both. either you extend a gui class like this: class Inches # ... foxguib generated code here end class Inches def init # ... your extension code here end end or you derive from the foxguib class which looks like this: class DerivedInches < Inches def initialize parent super # ... your code here end end hope this helps, -- henon ------=_Part_20631_768067.1148848035387 Content-Type: application/octet-stream; name=ExtendInches.rb Content-Transfer-Encoding: base64 X-Attachment-Id: 0.2 Content-Disposition: attachment; filename="ExtendInches.rb" cmVxdWlyZSAiSW5jaGVzWCIKY2xhc3MgSW5jaGVzWAogICAgI2V2ZW50cwogICAgZGVmIGluaXQK CiAgICAgICAgY29udmVydEJ1dHRvbi5jb25uZWN0KFNFTF9DT01NQU5EKXsKICAgICAgICAgCWNt TGFiZWwudGV4dD0oaW5jaGVzRmllbGQudGV4dC50b19mICogMi41NCApLnRvX3MKICAgICAgICB9 CgogICAgZW5kICAgIyBvZiBldmVudHMKZW5kCgojdW5pdCB0ZXN0CmlmIF9fRklMRV9fPT0kMAoJ cmVxdWlyZSAnL3Vzci9sb2NhbC9mb3hHVUliL0ZYJwoJYXBwPUFwcC5uZXcKCXc9SW5jaGVzWC5u ZXcgYXBwCgl3LnRvcHdpbi5zaG93KDApCglhcHAuY3JlYXRlCglhcHAucnVuCgplbmQ= ------=_Part_20631_768067.1148848035387 Content-Type: application/octet-stream; name=Inches.rb Content-Transfer-Encoding: base64 X-Attachment-Id: 0.3 Content-Disposition: attachment; filename="Inches.rb" IyBzb3VyY2UgZ2VuZXJhdGVkIGJ5IAoKY2xhc3MgSW5jaGVzCglkZWYgaW5pdGlhbGl6ZSggcGFy ZW50KQoJCWNvbnN0cnVjdF93aWRnZXRfdHJlZSggcGFyZW50KQoJCWluaXQgaWYgcmVzcG9uZF90 bz8gJ2luaXQnCgllbmQKCQoJZGVmIGNvbnN0cnVjdF93aWRnZXRfdHJlZSggcGFyZW50KQoJCUB0 b3B3aW49CgkJRlg6Ok1haW5XaW5kb3cubmV3KHBhcmVudCl7fHd8CgkJCUBNYWluV2luZG93PXcK CQkJdy53ZGdfbmFtZT0nTWFpbldpbmRvdycKCQkJdy53aWR0aD0yMDAKCQkJdy5zaG93bj10cnVl CgkJCXcueT03ODYKCQkJdy5oZWlnaHQ9MTUwCgkJCXcueD00MTYKCQkJRlg6OkJ1dHRvbi5uZXco QE1haW5XaW5kb3cpe3x3fAoJCQkJQGNvbnZlcnRCdXR0b249dwoJCQkJdy53ZGdfbmFtZT0nY29u dmVydEJ1dHRvbicKCQkJCXcudGV4dD0iQ29udmVydCB0byBjbSIKCQkJCXcud2lkdGg9ODYKCQkJ CXcuaGVpZ2h0PTIyCgkJCQlAY29udmVydEJ1dHRvbi5jb25uZWN0KFNFTF9DT01NQU5EKXsKCQkJ CQljbUxhYmVsLnRleHQ9KChpbmNoZXNGaWVsZC50ZXh0LnRvX2YqMi41NCkudG9fcykKCQkJCX0K CQkJfQoJCQlGWDo6VGV4dEZpZWxkLm5ldyhATWFpbldpbmRvdyl7fHd8CgkJCQlAaW5jaGVzRmll bGQ9dwoJCQkJdy53ZGdfbmFtZT0naW5jaGVzRmllbGQnCgkJCQl3LndpZHRoPTc2CgkJCQl3Lnk9 MjIKCQkJCXcuaGVpZ2h0PTIwCgkJCQl3Lm51bUNvbHVtbnM9MTAKCQkJfQoJCQlGWDo6TGFiZWwu bmV3KEBNYWluV2luZG93KXt8d3wKCQkJCUBjbUxhYmVsPXcKCQkJCXcud2RnX25hbWU9J2NtTGFi ZWwnCgkJCQl3LnRleHQ9IiIKCQkJCXcud2lkdGg9NAoJCQkJdy55PTQyCgkJCQl3LmhlaWdodD00 CgkJCX0KCQl9CgllbmQKCWF0dHJfcmVhZGVyIDp0b3B3aW4KCWF0dHJfcmVhZGVyIDpNYWluV2lu ZG93CglhdHRyX3JlYWRlciA6Y29udmVydEJ1dHRvbgoJYXR0cl9yZWFkZXIgOmluY2hlc0ZpZWxk CglhdHRyX3JlYWRlciA6Y21MYWJlbAplbmQKCiN1bml0IHRlc3QKaWYgX19GSUxFX189PSQwCgly ZXF1aXJlICcvdXNyL2xvY2FsL2ZveEdVSWIvRlgnCglhcHA9QXBwLm5ldwoJdz1JbmNoZXMubmV3 IGFwcAoJdy50b3B3aW4uc2hvdygwKQoJYXBwLmNyZWF0ZQoJYXBwLnJ1bgplbmQK ------=_Part_20631_768067.1148848035387 Content-Type: application/octet-stream; name=InchesX.rb Content-Transfer-Encoding: base64 X-Attachment-Id: 0.4 Content-Disposition: attachment; filename="InchesX.rb" IyBzb3VyY2UgZ2VuZXJhdGVkIGJ5IAoKY2xhc3MgSW5jaGVzCglkZWYgaW5pdGlhbGl6ZSggcGFy ZW50KQoJCWNvbnN0cnVjdF93aWRnZXRfdHJlZSggcGFyZW50KQoJCWluaXQgaWYgcmVzcG9uZF90 bz8gJ2luaXQnCgllbmQKCQoJZGVmIGNvbnN0cnVjdF93aWRnZXRfdHJlZSggcGFyZW50KQoJCUB0 b3B3aW49CgkJRlg6Ok1haW5XaW5kb3cubmV3KHBhcmVudCl7fHd8CgkJCUBNYWluV2luZG93PXcK CQkJdy53ZGdfbmFtZT0nTWFpbldpbmRvdycKCQkJdy53aWR0aD0yMDAKCQkJdy5zaG93bj10cnVl CgkJCXcueT00NTAKCQkJdy5oZWlnaHQ9MTUwCgkJCXcueD02MDAKCQkJRlg6OkJ1dHRvbi5uZXco QE1haW5XaW5kb3cpe3x3fAoJCQkJQGNvbnZlcnRCdXR0b249dwoJCQkJdy53ZGdfbmFtZT0nY29u dmVydEJ1dHRvbicKCQkJCXcudGV4dD0iY29udmVydCB0byBjbSIKCQkJCXcud2lkdGg9ODQKCQkJ CXcuaGVpZ2h0PTIyCgkJCX0KCQkJRlg6OlRleHRGaWVsZC5uZXcoQE1haW5XaW5kb3cpe3x3fAoJ CQkJQGluY2hlc0ZpZWxkPXcKCQkJCXcud2RnX25hbWU9J2luY2hlc0ZpZWxkJwoJCQkJdy53aWR0 aD03NgoJCQkJdy55PTIyCgkJCQl3LmhlaWdodD0yMAoJCQkJdy5udW1Db2x1bW5zPTEwCgkJCX0K CQkJRlg6OkxhYmVsLm5ldyhATWFpbldpbmRvdyl7fHd8CgkJCQlAY21MYWJlbD13CgkJCQl3Lndk Z19uYW1lPSdjbUxhYmVsJwoJCQkJdy50ZXh0PSIiCgkJCQl3LndpZHRoPTQKCQkJCXcueT00MgoJ CQkJdy5oZWlnaHQ9NAoJCQl9CgkJfQoJZW5kCglhdHRyX3JlYWRlciA6dG9wd2luCglhdHRyX3Jl YWRlciA6TWFpbldpbmRvdwoJYXR0cl9yZWFkZXIgOmNvbnZlcnRCdXR0b24KCWF0dHJfcmVhZGVy IDppbmNoZXNGaWVsZAoJYXR0cl9yZWFkZXIgOmNtTGFiZWwKZW5kCgojdW5pdCB0ZXN0CmlmIF9f RklMRV9fPT0kMAoJcmVxdWlyZSAnL3Vzci9sb2NhbC9mb3hHVUliL0ZYJwoJYXBwPUFwcC5uZXcK CXc9SW5jaGVzLm5ldyBhcHAKCXcudG9wd2luLnNob3coMCkKCWFwcC5jcmVhdGUKCWFwcC5ydW4K ZW5kCg== ------=_Part_20631_768067.1148848035387--