Hi Everyone, I'm trying to use #AbtCwDateTimePickerView (dropped in my window from the Windows Controls category). It works fine in the development environment but once I package things go south. It will drop down but looks odd. Sometimes a can select a date but more often than not it will lockup the program and burn about half of my two cores. Is this just me? Is there something I should be doing differently? I this a known problem? Lou You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Lou - just a hunch that it may have to do with the version of Windows controls you're picking up from the OS by virtue of the manifest (or no manifest). Try copying the nodialog.exe.manifest to your runtime environment if you are using nodialog.exe (or whatever you've named the .exe, name manifest after the .exe).
-- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi Wayne, Thanks for the idea. I really thought it would help as I didn't have a manifest file for the executable. I use the executable created by the "Make Executable" button on the main organized window, which looks like a copy of nodialog.exe. But it didn't do any better. I also changed the name inside the manifest to match the executable but no joy. Could there be a DLL that I have out of sync between development and production? I don't think they are but I will check again. A side note to Instantiations: If the manifest file is important, maybe the "Make Executable" button should create one when it copies the executable and packages the image. Lou On Thursday, July 3, 2014 8:15:53 AM UTC-4, Wayne Johnston wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Lou:
-- I don't think it makes sense for a packager to create a manifest file. In our runtime environment for the client, we run a renamed nodialog.exe. The packager doesn't know that. If the packager created a manifest file, we'd have to remember to rename it and stick it in the runtime environment. But we'd really only have to do that once. So we might as well not have the packager do nothing - we just have to remember to stick the official manifest file (renamed) into the runtime environment once. I admit I don't know if there is documentation saying you should do that. What you may want instead is the manifest being stuck right into the .exe. That is possible. However at https://groups.google.com/forum/#!searchin/va-smalltalk/manifest/va-smalltalk/V86CJn7exDU/uNd3bjtfda8J I convinced John of Instantiations not to do that, since then our application would automatically get stupid behavior thanks to Windows - which I can avoid now by simply not copying that manifest file. You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi Wayne, Thanks for the help.
For GUI programs I use the "Make Executable" menu icon which packages the image and it seems makes a copy of nodialog.exe renamed to the name of the target program/image. Given that it is making the executable for you I thought it could also supply the manifest. But things may be more complicated that that and easier said than done. How do you package GUI's? If there is some value to making them with the "Make Executable" menu icon I willing to give it a try.
I have tried using a copy of the nodialog.exe.manifest file with the proper external name but that didn't help. I also change the name inside the manifest file, that also didn't help. I also checked the versions of comctl32.dll that are loaded and like you in development only one is loaded and with the packaged program two versions are loaded. I'm not sure what is up with that? Because of the odd responses to clicking inside the calendar and the eventual high CUP usage and locking up of the program, I'm thinking the versions of the DLL have something to do with all this but I'm not sure what to do about it. Lou You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi All,
-- The problem seems to be solved with some help from Wayne and Solveig. I had to change the registry to prefer external manifests. That got windows to pick up the manifest and everything worked as expected from then on. I think it may be a good idea to include/embed the manifest in the executable. I would hate to have to tell my users that they need to change their registry. So I'm looking into that. Thanks Wayne and Solveig. Lou You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Louis LaBrunda
Lou:
-- You are more knowledgeable than I am now. I hadn't known about a registry entry to prefer external manifests. And I've never done "Make Executable". But hearing that it makes a .exe, it does seem reasonable to conditionally (?) make a manifest file or even embed it in the .exe. But to answer your question, we use the packager ("Browse Packaged Images" menu item). This creates an image (icx file). Users invoke a shortcut which invokes the .exe (nodialog.exe say) with the image file specified on the command line. You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hey Wayne, You are more knowledgeable than I am now. I hadn't known about a registry entry to prefer external manifests. And I've never done "Make Executable". But hearing that it makes a .exe, it does seem reasonable to conditionally (?) make a manifest file or even embed it in the .exe. So far I haven't been able to embed the manifest in the executable. It would be great if Instantiations supplied a nodialog.exe without a manifest and say nodialogWithManifest.exe. We could then pick the one we want/need and rename it.
I use that to created XD images for my windows NT services but have not tried it for the GUI programs. Unless I could use it to package a Linux version of a GUI program from windows, I don't think it would buy me much. So I will stick with "Make Executable" for now. Lou You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Louis LaBrunda
Hi Everyone, For those that are interested, it was the need for a manifest file that caused the odd behavior with the date picker. I wasn't suppling a manifest file and when I did for some reason Windows didn't read it. There is a program called "touch" that will change the date/time of executables (or anything). Having a new date/time somehow get Windows to read the manifest file and then all is well. I have some Smalltalk code (basically scripts that I keep in the class comment of the main object of a program) that I run as part of packaging. I have added some code to copy an appropriate manifest (one for GUIs and one for NT services) and for Windows NT services the executable (for GUIs the executable is supplied by VA Smalltalk) and then call #CfsFileDescriptor>>touch: to change the date/time of the executable. This looks like it insures I have an executable and manifest the Windows will be happy with. Lou P.S. I'm also using the zip stuff in these scripts that I talked about in another thread to bundle things together. You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Free forum by Nabble | Edit this page |