I just bought D4.0 Pro and installed it without problem. I then
installed the package containing my customized version of Pocket Smalltalk, which I had modified in D3.x. On loading the package, I got a popup that told me the package had been saved with a previous VM, but that it should load OK, blah blah blah. It loaded fine, and the app itself runs fine within the D4 environment. The problem is when I try to deploy it. The package still had the ADK settings that I used with D3.x and that's what I tried to use first. After discovering that I needed to change my RuntimeSessionManager subclass to override #main instead of #tertiaryStartup I deployed. The stripping went without error, but when I try to run the executable, I get popups about two of the classes in my app not understanding certain messages, and QRuntimeSessionManager (my subclass of RuntimeSessionManager), not understanding #add:. I got about 25 popups about the same three messages, and then finally the initial window of the app appears. But the toolbar didn't have any of the buttons that it should have (this was on the same machine as the D4 environment was installed on, so the appropriate DLLs were present). I then went back into Dolphin and verified that the messages were actually there (#add: of QRuntimeSessionManager was actually defined in a superclass), then tried deploying with no options in the deployment wizard checked. Still no joy. Apparently these three messages are being stripped even though I turned all the options off. Any ideas of what I need to do? Could the disappearance of the #add: message be the cause of the missing toolbar bitmaps? BTW, I was also very pleased with the upgrade price to 4.0. Joey -- -- Sun Certified Java2 Programmer -- Political Rants: www.joeygibson.com -- My Pocket Smalltalk Stuff: st.joeygibson.com -- -- "Do you know what I am doing, Miss Kenton? I am placing my -- mind elsewhere while you chatter away." -----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 80,000 Newsgroups - 16 Different Servers! =----- |
Joey,
"Joey Gibson" <[hidden email]> wrote in message news:[hidden email]... > Any ideas of what I need to do? Could the disappearance of the > #add: message be the cause of the missing toolbar bitmaps? Re the stripping problem. It might be worth checking the log file to see if that sheds some light - you can at least confirm the methods in question are being stripped. You could also try adding the methods to the "must not strip" method category - it might get you working until you can figure out why they are being stripped. How are the methods referenced?. If the selectors are being constructed on the fly and then being #performed then that my be the reason. D4 seems a lot more aggressive in it's stripping - which is why the final files are so much smaller. Re the bitmaps. Where are they located - are they system bitmaps (i.e. ones provided by the development system)?. If so then the problem is probably that the dll is not available to the executable. Try copying dolphindr004.dll from the installation folder to the folder where your executable resides and try again. I'm not sure about the status of this dll, whether it can be distributed or not? Ian |
In reply to this post by Joey Gibson
Try placing the messages you don't want stripped into the 'must not
strip' category. I couldn't find where #add: is defined in the SessionManager hierarchy on either the class or instance side. Which class (in the SessionManager hierarchy) defines #add:? -- Bob Jarvis Compuware @ Timken Sent via Deja.com http://www.deja.com/ Before you buy. |
In reply to this post by Joey Gibson
Joey
Are any of the classes or methods of the original Pocket Smalltalk in the "development" ("Development" for classes) category? These categories are forcibly stripped from the image. As Ian suggests you may need to resort to the stripping log to find out what's going on. The log in D4 is much improved over the version equivalent. Best regards, Andy Bower Dolphin Support http://www.object-arts.com --- Visit the Dolphin Smalltalk Wiki Web http://www.object-arts.com/wiki/html/Dolphin/FrontPage.htm --- "Joey Gibson" <[hidden email]> wrote in message news:[hidden email]... > I just bought D4.0 Pro and installed it without problem. I then > installed the package containing my customized version of Pocket > Smalltalk, which I had modified in D3.x. On loading the package, I got a > popup that told me the package had been saved with a previous VM, but > that it should load OK, blah blah blah. It loaded fine, and the app > itself runs fine within the D4 environment. The problem is when I try to > deploy it. The package still had the ADK settings that I used with D3.x > and that's what I tried to use first. After discovering that I needed to > change my RuntimeSessionManager subclass to override #main instead of > #tertiaryStartup I deployed. The stripping went without error, but when > I try to run the executable, I get popups about two of the classes in my > app not understanding certain messages, and QRuntimeSessionManager (my > subclass of RuntimeSessionManager), not understanding #add:. I got about > 25 popups about the same three messages, and then finally the initial > window of the app appears. But the toolbar didn't have any of the > buttons that it should have (this was on the same machine as the D4 > environment was installed on, so the appropriate DLLs were present). I > then went back into Dolphin and verified that the messages were actually > there (#add: of QRuntimeSessionManager was actually defined in a > superclass), then tried deploying with no options in the deployment > wizard checked. Still no joy. Apparently these three messages are being > stripped even though I turned all the options off. > > Any ideas of what I need to do? Could the disappearance of the > #add: message be the cause of the missing toolbar bitmaps? > > BTW, I was also very pleased with the upgrade price to 4.0. > > Joey > > -- > -- Sun Certified Java2 Programmer > -- Political Rants: www.joeygibson.com > -- My Pocket Smalltalk Stuff: st.joeygibson.com > -- > -- "Do you know what I am doing, Miss Kenton? I am placing my > -- mind elsewhere while you chatter away." > > > > -----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- > http://www.newsfeeds.com - The #1 Newsgroup Service in the World! > -----== Over 80,000 Newsgroups - 16 Different Servers! =----- |
In reply to this post by Joey Gibson
Joey
You wrote in message news:[hidden email]... > I just bought D4.0 Pro and installed it without problem. I then > installed the package containing my customized version of Pocket > Smalltalk, which I had modified in D3.x. On loading the package, I got a > popup that told me the package had been saved with a previous VM, but > that it should load OK, blah blah blah. It loaded fine, and the app > itself runs fine within the D4 environment. The problem is when I try to > deploy it.... If you send me a copy of your package, I'll check it out. Regards Blair |
In reply to this post by Ian Bartholomew
In article <8vgq7k$4cfob$[hidden email]> on Wed, 22 Nov 2000
15:50:44 -0000, [hidden email] said: ||| It might be worth checking the log file to see if that sheds some light - ||| you can at least confirm the methods in question are being stripped. Yes, they do show up in the strip log as being removed. ||| How are the methods referenced?. If the selectors are being constructed on ||| the fly and then being #performed then that my be the reason. Good question. I didn't write 99% of the code in this package. My contribution was to adorn all of the windows in the package with toolbars. So how the code is being used, I couldn't say off the top of my head. ||| Re the bitmaps. ||| ||| Where are they located - are they system bitmaps (i.e. ones provided by the ||| development system)?. If so then the problem is probably that the dll is not ||| available to the executable. Try copying dolphindr004.dll from the ||| installation folder to the folder where your executable resides and try ||| again. I'm not sure about the status of this dll, whether it can be ||| distributed or not? I used the toolbars that can be found within the Dolphin tools, so the bitmaps in question are the same ones you see in the Dolphin toolbars. I happened to have DBMON running when I tried to run the deployed app a few minutes ago, and I discovered that it was trying to find a dll called DolphinDR004.dll, which was not in the Common Files directory, but in the main Dolphin 4 directory. Once I put this dll in the same directory as the app, the bitmaps are found correctly. I don't know what this means as far as distribution goes. Is that dll redistributable? Joey -- -- -- Sun Certified Java2 Programmer -- Political Rants: www.joeygibson.com -- My Pocket Smalltalk Stuff: st.joeygibson.com -- -- "Do you know what I am doing, Miss Kenton? I am placing my -- mind elsewhere while you chatter away." -----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 80,000 Newsgroups - 16 Different Servers! =----- |
Joey,
"Joey Gibson" <[hidden email]> wrote in message news:[hidden email]... > the same directory as the app, the bitmaps are found correctly. I don't > know what this means as far as distribution goes. Is that dll > redistributable? From the Dolphin 4.0 education centre ~-~-~- DolphinDRYYR.DLL -- The Dolphin Smalltalk Development System resources. This DLL contains various resources such as icons, bitmaps etc. which are normally only used by the development environment. However, if you wish to make use of these as part of your application then you may do so. In which case, you must install this DLL into the same directory as your application executable. ~-~-~- Which answers both questions for us <g> Ian |
In reply to this post by Joey Gibson
Joey,
"Joey Gibson" <[hidden email]> wrote in message news:[hidden email]... > the same directory as the app, the bitmaps are found correctly. I don't > know what this means as far as distribution goes. Is that dll > redistributable? >From the Dolphin 4.0 education centre ~-~-~- DolphinDRYYR.DLL -- The Dolphin Smalltalk Development System resources. This DLL contains various resources such as icons, bitmaps etc. which are normally only used by the development environment. However, if you wish to make use of these as part of your application then you may do so. In which case, you must install this DLL into the same directory as your application executable. ~-~-~- Which answers both questions for us <g> Ian |
In reply to this post by Joey Gibson
Joey was kind enough to send me a copy of his package, and I've spent half
an hour looking into the problems he experienced. I think these will be of general interest spreading knowledge about Lagoon: "Joey Gibson" <[hidden email]> wrote in message news:[hidden email]... >.... The stripping went without error, but when > I try to run the executable, I get popups about two of the classes in my > app not understanding certain messages, and QRuntimeSessionManager (my > subclass of RuntimeSessionManager), not understanding #add:. I got about > 25 popups about the same three messages, and then finally the initial > window of the app appears. The later ones are knock on effects of the first. Pressing OK to the Warning dialog attempts to resume execution (DNUs are resumably errors) and then messages end up getting sent to the wrong objects. If you press Cancel on the first warning, the process will get terminated, and you won't get any more. You won't get a window either :-), since the first DNU occurs before it has been opened, but the app. will continue running. ASIDE: This is essentially the behaviour of a DNU error in a runtime app should any sneak through. Although an app. ought to be tested well enough to avoid DNUs, it is comforting to know that the app will stay up. The same is true of other errors, and in fact non-resumable ones will not result in any knock on effects since they always cause the process to be terminated (in effect the only option is to Cancel), so the operation is effectively unwound back to the event loop. The manner in which unhandled exceptions are dealt with is all customisable by overriding methods in one's RuntimeSessionManager. So, what is causing the initial DNU? Is there a whole in the ImageStripper logic so it isn't finding references it should? No, thankfully not. What is happenning is that Joey has some methods in one of the development method categories that are forcefully removed, regardless of stripping options. The offending category is 'categories' :-). There are two ways around this: 1) Don't use 'categories', i.e. just rename it in the classes where it appears, easily located by using the Method/Browse/Category... command in the browser. 2) Subclass ImageStripper and override #developmentMethodCategoryNames to remove 'categories' from the set. I've chosen to do the latter in this case to avoid modifying all Joey's classes. To avoid this problem in future I'm going to remove 'categories' from the list of development categories, and simply add the development methods in it to the 'development' category. Do be careful not to use the development method categories - they are listed in ImageStripper>>developmentMethodCategoryNames (there are 5, soon to be 4). The most important of these is 'development'. The methods in this category must be removed by the terms of the license, because if they are not then development classes may end up in the deployed image. >... But the toolbar didn't have any of the > buttons that it should have (this was on the same machine as the D4 > environment was installed on, so the appropriate DLLs were present). >... There are two potential issues here, both of general importance: 1) ReferenceViews are employed in Joey's package. The reference chasing done by the ImageStripper will not _currently_ find these if the only references are embedded in other view resources. The simplest way to work around this is to turn off the option to strip redundant resources, and live with a slightly large executable. Another way is to make sure the resource names are referenced from a method which will not be stripped, ideally the ones that cause the reference views to be used. In this case I've added a single method which just contains the names of the views and placed it in the 'must not strip' category. 2) The Dolphin resources DLL (DolphinDR004.DLL) is used. As mentioned in other replies, this can be redistributed if you wish, but it must be somewhere on the search path for resource libraries. The easiest way to guarantee this is to place it in the same directory as the deployed executable. Anyway, I eventually ended up with an executable that works in the same manner as it does in the development environment (I can't seem to browse any of the Pocket Smalltalk methods in either?). The eventual .EXE size is under 1.4Mb, which is not bad for a (Pocket) Smalltalk programming environment. Regards Blair |
In article <t9fT5.7010$[hidden email]>,
[hidden email] says... > Joey was kind enough to send me a copy of his package, and I've spent half > an hour looking into the problems he experienced. I think these will be of > general interest spreading knowledge about Lagoon: Thanks for the assistance, Blair. Just to be clear for anyone reading, these aren't really "my" sources. I did a small bit of work on Pocket Smalltalk (the toolbars), but 99.23% of the work was done by Andrew Brault, Eric Arsenau and Petr Novak. I just happen to maintain a costom version of PST with the toolbars. Sorry to sound like a lawyer, but I don't want any of the three above mentioned folks to think I'm trying to horn in on their great product. > The later ones are knock on effects of the first. Pressing OK to the Warning > dialog attempts to resume execution (DNUs are resumably errors) and then > messages end up getting sent to the wrong objects. If you press Cancel on > the first warning, the process will get terminated, and you won't get any > more. You won't get a window either :-), I assumed this was the case. The first time I got one I pressed Cancel, which promptly killed the app. Then I tried answering OK, and it cycled through several more, and then showed the main window. > 1) Don't use 'categories', i.e. just rename it in the classes where it > appears, easily located by using the Method/Browse/Category... command in > the browser. > 2) Subclass ImageStripper and override #developmentMethodCategoryNames to > remove 'categories' from the set. Number 2 sounds easy enough. > To avoid this problem in future I'm going to remove 'categories' from the > list of development categories, and simply add the development methods in it > to the 'development' category. If categories needs to be in that list for the general case, I'd hate to see you change your source for a corner case. Subclassing ImageStripper and changing that one method seems quite simple, and appropriate for a situation like this. > 1) ReferenceViews are employed in Joey's package. Since I was just reusing the standard Dolphin toolbars (with a few modifications), reference views seemed most appropriate. I was really happy when I discovered that I didn't have to create all of the toolbars by hand, that I could just combine some of the stock toolbars using references. > Anyway, I eventually ended up with an executable that works in the same > manner as it does in the development environment (I can't seem to browse any > of the Pocket Smalltalk methods in either?). The eventual .EXE size is under > 1.4Mb, which is not bad for a (Pocket) Smalltalk programming environment. When PST starts up, there isn't really much code in it. The first thing you have to do is open the Package Browser and install the 'core.st' package that comes with the distro. Once you do that, all of the code for all of the system classes will be browsable. I suppose it might make sense to autoload that package. The current behavior is the way I found it, and it never occurred to me to change it. Perhaps I will... As for the exe size with 3.06, it was 2,346,584 bytes. So that is quite a savings in size. Thanks again for all your help. I'll be taking a look at the modified package you sent. Joey -----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 80,000 Newsgroups - 16 Different Servers! =----- |
Hi Joey,
Are you going to make your new pst available? If so, when and where (in the e-group?)? Thanks, Ted |
In article <8vlbmp$4ljvi$[hidden email]>, [hidden email]
says... ||| Are you going to make your new pst available? If so, when and where (in the ||| e-group?)? Probably. Where is most likely my site at st.joeygibson.com. When is the question. Using Blair's suggestions, I was able to get a viable standalone exe of PST under 4.0. The problem came when trying to load the core.st package, which is the guts of the PST code. It complained 5 or 10 times about different lines within core.st calling on systraps that were missing. I don't really understand the systrap business (a little while studying it probably wouldn't hurt me...), so I can't say OTTOMH what the problem. My suspicion is that something else is getting stripped, since I can load core.st into the new PST, as long as it is running inside the D4 environment. I'm getting ready to head to the in- laws house for another Thanksgiving dinner, but I may try to look into this tonight. Depending on when we get back, of course. (It's about 2 hours drive in each direction.) Just as an aside, do you (Ted) or anyone else know if there is much desire within the PST community to keep an Dolphin version around? You know that Eric is moving PST completely to Squeak (since it's portable), but I much prefer Dolphin to Squeak. Just curious. I joked with Petr Novak a while back that perhaps I would have to maintain a Dolphin version forked off from the main PST tree so I could keep my toolbars.... Joey -----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 80,000 Newsgroups - 16 Different Servers! =----- |
Hi Joey,
"Joey Gibson" <[hidden email]> wrote in message news:[hidden email]... > In article <8vlbmp$4ljvi$[hidden email]>, [hidden email] > says... > > ||| Are you going to make your new pst available? If so, when and where (in the > ||| e-group?)? > > Probably. Where is most likely my site at st.joeygibson.com. When > is the question. Using Blair's suggestions, I was able to get a viable > standalone exe of PST under 4.0. The problem came when trying to load > the core.st package, which is the guts of the PST code. It complained 5 > or 10 times about different lines within core.st calling on systraps > that were missing. I don't really understand the systrap business (a > little while studying it probably wouldn't hurt me...), so I can't say > OTTOMH what the problem. My suspicion is that something else is getting > stripped, since I can load core.st into the new PST, as long as it is > running inside the D4 environment. I'm getting ready to head to the in- > laws house for another Thanksgiving dinner, but I may try to look into > this tonight. Depending on when we get back, of course. (It's about 2 > hours drive in each direction.) I'm a bit short on time at the moment, but let me know if I can help. > > Just as an aside, do you (Ted) or anyone else know if there is > much desire within the PST community to keep an Dolphin version around? > You know that Eric is moving PST completely to Squeak (since it's > portable), but I much prefer Dolphin to Squeak. Just curious. I joked > with Petr Novak a while back that perhaps I would have to maintain a > Dolphin version forked off from the main PST tree so I could keep my > toolbars.... Well, yes and no. I'm not interested in other environments like Linux and I'm really hooked on Dolphin. Basically just works as I expect it to. OTOH, the direction that Eric has taken with his new environment quite appeals to me as I understand it - building your app within the 'normal' development environment and then just deploy it. But I think we better hold this discussion in the PST newsgroup. > > Joey > Have a nice dinner Ted |
In reply to this post by Joey Gibson
Joey
You wrote in message news:[hidden email]... >... Using Blair's suggestions, I was able to get a viable > standalone exe of PST under 4.0. The problem came when trying to load > the core.st package, which is the guts of the PST code. It complained 5 > or 10 times about different lines within core.st calling on systraps > that were missing. I don't really understand the systrap business (a > little while studying it probably wouldn't hurt me...), so I can't say > OTTOMH what the problem. My suspicion is that something else is getting > stripped, since I can load core.st into the new PST, as long as it is > running inside the D4 environment. .... When you get back from the in-laws, have a drink (cheers), and then look in the directory where the application .EXE is. You should find a .ERRORS file, which all runtime applications produce by default now (override RuntimeSessionManager>>logError: to get rid of it). It will have contain quite detailed error dump information in it, including walkbacks for each error that occurred. From this you should be able to see what is going on, or at least what is being called and from where. Regards Blair |
Free forum by Nabble | Edit this page |