Does Not Understand errors
Suppose your packaged image is blowing up with the message
Undefined Object does not understand now.
Obviously, nil is not expected to understand the message now. To answer the question, who does understand the message now, got to the development image with your application loaded. Find all implementers of #now. (For Example form the Transcript Tools >> Browse Implementers menu item) At least one of the classes that implement the method now must be included in the packaged image.
The next step is to work through the classes implementing the method:
o Time
o DateAndTime
o AbtTimeStamp
o EmTimeStamp.
The Time and DateAndTime classes are defined in the as part of the Kernel Application which is a necessary part of every development image and reduced runtime image.
AbtTimeStamp is defined in AbtPrimitiveBaseApp and that is also where the #now method is defined. . EmTimeStamp is defined in EmImageSupport and that is also where the #now method is defined. Neither AbtPrimitiveBaseApp nor EmImageSupport is part of Kernel, so the application, the class or just the method could have been excluded from the reduced runtime image.
| | |
AbtTimeStamp | now | AbtPrimitiveBaseApp |
EmTimeStamp | now | EmImageSupport |
The table above tells where to look next. If you want to track down whether EmTimeStamp is properly included, look in CLASSES.ES. If you find that the class is included, check in METHODS.ES to make sure the method #now was not excluded.
Last modified date: 05/03/2019