Subclassing

Are there any bugs in Forms 6i that cause problems with subclassing?
I recently created several subclassed objects. However, they don't seem to be working quite the way they should. When I change the font or font size or background color of the source object, the change does not seem to be taking effect in the children.
Is there a way to fix this? Any help is greatly appreciated. Thanks.

Recompile the forms that are subclassed

Similar Messages

  • Error while calling a super class public method in the subclass constructor

    Hi ,
    I have code like this:
    CLASS gacl_applog DEFINITION ABSTRACT.
      PUBLIC SECTION.
        METHODS:
                create_new_a
                   IMPORTING  pf_obj       TYPE balobj_d
                              pf_subobj    TYPE balsubobj
                              pf_extnumber TYPE string
                   EXPORTING  pfx_log_hndl TYPE balloghndl
                   EXCEPTIONS error
    ENDCLASS.
    CLASS gacl_applog IMPLEMENTATION.
      METHOD create_new_a.
        DATA: ls_log TYPE bal_s_log.
      Header aufsetzen
        MOVE pf_extnumber TO ls_log-extnumber.
        ls_log-object     = pf_obj.
        ls_log-subobject  = pf_subobj.
        ls_log-aluser     = sy-uname.
        ls_log-alprog     = sy-repid.
        ls_log-aldate     = sy-datum.
        ls_log-altime     = sy-uzeit.
        ls_log-aldate_del = ls_log-aldate + 1.
        CALL FUNCTION 'BAL_LOG_CREATE'
             EXPORTING
                  i_s_log      = ls_log
             IMPORTING
                  e_log_handle = pfx_log_hndl
             EXCEPTIONS
                  OTHERS       = 1.
        IF ( sy-subrc NE 0 ).
          MESSAGE ID      sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH    sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
                  RAISING error.
        ENDIF.
      ENDMETHOD.
    CLASS gcl_applog_temp DEFINITION INHERITING FROM gacl_applog.
      PUBLIC SECTION.
        DATA: log_hndl   TYPE balloghndl READ-ONLY
            , t_log_hndl TYPE bal_t_logh READ-ONLY
        METHODS: constructor
                   IMPORTING  pf_obj       TYPE balobj_d
                              pf_subobj    TYPE balsubobj
                              pf_extnumber TYPE string
                   EXCEPTIONS error
               , msg_add      REDEFINITION
               , display      REDEFINITION
    ENDCLASS.
    CLASS gcl_applog_temp IMPLEMENTATION.
      METHOD constructor.
        CALL METHOD create_new_a
               EXPORTING  pf_obj       = pf_obj
                          pf_subobj    = pf_subobj
                          pf_extnumber = pf_extnumber
               IMPORTING  pfx_log_hndl = log_hndl.
        IF ( sy-subrc NE 0 ).
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
                  RAISING error.
        ENDIF.
      ENDMETHOD.
    A public method of Super class has been called from the constructor of the sub class. we are getting the syntax error :
    ' In the constructor method, you can only access instance attributes, instance methods, or "ME" after calling the constructor of the superclass…'
    Can you please suggest how to change the code with out affecting the functioanlity.
    Thank you ,
    Lakshmi.

    Hi,
    Call that method by instance of Subclass.   OR
    SUPER-->method.
    Read very useful document
    Constructors
    Constructors are special methods that cannot be called using CALL METHOD. Instead, they are called automatically by the system to set the starting state of a new object or class. There are two types of constructors - instance constructors and static constructors. Constructors are methods with a predefined name. To use them, you must declare them explicitly in the class.
    The instance constructor of a class is the predefined instance method CONSTRUCTOR. You declare it in the public section as follows:
    METHODS CONSTRUCTOR
            IMPORTING.. [VALUE(]<ii>[)] TYPE type [OPTIONAL]..
            EXCEPTIONS.. <ei>.
    and implement it in the implementation section like any other method. The system calls the instance constructor once for each instance of the class, directly after the object has been created in the CREATE OBJECT statement. You can pass the input parameters of the instance constructor and handle its exceptions using the EXPORTING and EXCEPTIONS additions in the CREATE OBJECT statement.
    The static constructor of a class is the predefined static method CLASS_CONSTRUCTOR. You declare it in the public section as follows:
    CLASS-METHODS CLASS_CONSTRUCTOR.
    and implement it in the implementation section like any other method. The static constructor has no parameters. The system calls the static constructor once for each class, before the class is accessed for the first time. The static constructor cannot therefore access the components of its own class.
    Pls. reward if useful....

  • How to get the subclass from a super class( or interface)

    hi,
    I want to get subclass from a super class (or a interface), how to do that? the subclass of a interface means the class implementing the interface.
    for example;
    List ls;
    I want to get the subclass of ls, i.e., LinkedList, Stack, Vector......
    AbstractList al;
    the subclass of al, i.e., ArrayList, Vector.......
    thanks
    Aiwu

    List ls = new ArrayList();Since ls has been declared as a List we can only use List methods
    with it. This is a good thing because we might later want to change
    it to some other sort of List.
    I want to get subclass from a super class (or a interface), how to do
    that?The instance of the subclass declared above did not really come
    from the super class. A class "knows nothing" about its
    subclasses: many sub classes would not even exist at the time
    the class was written.

  • NSView subclass and mouse clicks

    I wrote a relatively simple program. It's got a single visual component on the window, an NSView subclass with drawing delegated out to another class called Arrow. Anyway, it uses a timer to trigger calls to drawRect which in turn "animates" a layer. I have a 100x100 layer and a velocity & position which get updated each time through depending on how much "real" time has passed. As the layer bounces around the screen, the animation seems smooth and everything looks good. If I start clicking in the window, however, things get wonky. The animation stutters (probably expected) and the position sometimes gets set back to the origin (0,0, bottom left corner of screen). I wonder if there's something I can do to stop mouse clicks from affecting the view, I have no set up anything to use the mouse clicks AT ALL so I don't really know how they can affect anything in the code I wrote. If this isn't enough info to answer the question, I'll post the xcode project.

    The end result is going to be a very simple 2d game with maybe 8-10 things on the screen moving around at any one time. My next step is to try out openGL but using these CALayers seemed a lot simpler. However, since you say any event will block, I expect that will happen to opengl as well. I'll dig some more in the examples. It seems I followed the pattern from the crash landing demo (although I'm doing it on the mac itself, not iphone/simulator) to set up the rendering.
    When you suggest using core animation, are you talking about just telling it the start/end position and the speed, and letting it handle everything in between? I don't think that will work for my case because eventually I will have to handle mouse/keyboard events to alter the movement in real-time. Am I missing something?
    Thanks again for your help.

  • How can I invoke a method on a subclass based on the runtime type?

    Hi all,
    I have defined a base class OrderDetail, and 2 subclasses which extend it: OrderDetailSingleReservation and OrderDetailMonthReservation. Furthermore, I have a method:
        public Order order_generate(OrderDetail orderDetail) {
            if (orderDetail instanceof OrderDetailSingleReservation) {
                return order_generate((OrderDetailSingleReservation) orderDetail);
            }  else if (orderDetail instanceof OrderDetailMonthReservation) {
                return order_generate((OrderDetailMonthReservation) orderDetail);
            } else {
                Misc.alert("orderAndInvoice_Generate(GENERIC): unsupported type.");
                return null;
        }The type of this method's parameter is OrderDetail, as you can see. (This particular method only serves as a kind of dispatcher and is therefore not very interesting in itself, but the same pattern using 'instanceof' occurs in a codebase I am working on several times, and I would like to factor it out if possible.)
    My question: it seems that the invocation of order_generate() from within this method requires an explicit downcast to one of the two subclasses. If not, java invokes the method on the superclass. But at runtime, the JVM knows what type of object it is dealing with, right? So is there no way to do this without the explicit downcast?
    A similar problem occurs when trying to invoke a method on an object whose type is one of the subclasses; the method on superclass is called, instead of the one in the appropriate subclass that overrides it.
    Any help would be greatly appreciated!
    Thanks,
    Erik

    Thanks for your replies! I was editing my post last night to clarify it, but my connection went down and the edit was lost :(
    Anyway, yes, it should be done with polymorphism. I was constructing an example using the famous Animal, Cat and Dog classes to demonstrate my question more clearly, and to my surprise the problem does not occur in my example code.
    LRMK: Invoking a method such as in your example, where the method is inside the class itself, works fine. However for MVC's sake, I have a separate class called Invoicing with methods as below:
    class invoicing
      // the method for the superclass
      public Invoice invoice_create(OrderDetail orderDetail) {
         System.out.println("type: " + orderDetail.getClass());
         return null;
      // the method for one of the subclasses (this method is being not invoked)
      public Invoice invoice_create(OrderDetailSingleReservation orderDetail) {
         return null;
      // ...nor is this one.
      public Invoice invoice_create(OrderDetailMonthReservation od) {
         return null;
    }Now I attempt to invoke these methods:
    // create example objects
    OrderDetailSingleReservation odSingle = new OrderDetailSingleReservation();
    OrderDetailMonthReservation odMonth = new OrderDetailMonthReservation();
    // this call displays "odSingle type: OrderDetailSingleReservation"
    System.out.println("odSingle type: " + odSingle.getClass());
    // this call displays "odMonth type: OrderDetailMonthReservation"
    System.out.println("odMonth type: " + odMonth.getClass());
    // this call invokes Invoicing.invoice_create(OrderDetail)
    // instead of Invoicing.invoice_create(OrderDetailSingleReservation)
    Invoicing.invoice_create(odSingle);
    // this call invokes Invoicing.invoice_create(OrderDetail)
    // instead of Invoicing.invoice_create(OrderDetailMonthReservation)
    Invoicing.invoice_create(odMonth);So these calls will invoke the method for the superclass, i.e. Invoicing.invoice_create(OrderDetail od). That method then then executes the System.out.println() call which displays the class type of its parameter as one of { OrderDetailSingleReservation | OrderDetailMonthReservation }, that is, the expected subclass types!
    So the dynamic dispatch isn't working the way I would expect it to. If I do the explicit if-else checking using instanceof, as described in my first post, the correct methods are called.
    I hope the problem is somewhat clearer now. I am a bit lost as to what might be causing this, or how to monitor what's going on inside the jvm. Any ideas? BTW, the OrderDetail class and its subclasses are JPA entities (though I don't think it should matter).
    Thanks!
    Erik

  • Unique methods in subclass: can't access if superclass was the cast

    Hey up,
    I have an abstract class - Boid - and two subclasses - PredatorBoid and PreyBoid.
    If I add a method to PreyBoid (not one that's over-riding a method from Boid: its unique to this class) something that confuses me occurs.
    I can access this method if I instantiate PreyBoid thus:
    PreyBoid p = new Preyboid();
    But how I want to instantiate it is as part of an array, thus:
    private Boid[] boids = new Boids[x];
    for (int i=0; i<numberOfBoids*2;i+=2) {
                boids[i] = new PreyBoid();
                boids[i+1] = new PredatorBoid();
            }But if make em this way, I can no longer access the method unique to PreyBoid.
    Am I missing something? Do I have to make two separate arrays for the different kind of boid (which somewhat defeats the point?)
    The alternative is to add abstract methods for every different subclass method - but given that some of them are unique to the subclasses, this seems like overkill and clutter.
    It also makes no difference if the superclass is abstract or not: if I start by casting the array as a Boid array, but fill it with sub-classes, I can only access the methods that have been over-ridden from the superclass.
    Any thoughts gratefully received! I have read plenty about this, but can't find an answer anywhere...

    You can cast them of course(see below). My advice is to use an ArrayList for each type. ArrayLists also resize dynamically and also support Generics which avoid casting. (Not in all Java versions though, 1.5 and upwards)
    ((PreyBoid)boids).getSomeValue();
    Message was edited by:
    helloWorld

  • How to create a UITableView subclass in Xcode 4?

    In Xcode 3 you can create a UITableView option while creating a new class. Now this option is gone and was replaced by an "iPad compatible" option. How can I get to the UITableView option? Or is there any other way to create an UITableViewController?

    Hey Elefantosque,
    I have been creating UITableView classes by doing the following:
    Select NewFile
    Select UIViewControllerSubclass and click Next
    Where it says 'subclass of', use the drop-down menu to select UITableViewController and click Next
    Enter your new file name and click Save.
    I hope this is what you are asking?
    james

  • How to call a subclass method.

    Hi:
    I am trying to call a method from the subclass. I get many errors. Please correct the following code.
    public abstract class A{
    private int id;
    public static void main(){
    A obj = new B(200);
    obj.subclassMethod;
    class B extends A{
    public void subclassMethod(){
    System.out.println("ID is : " +id);
    public B(int i){
    id = i;

    The first problem:
    A obj = new B(200);  // This is perfect
    obj.subclassMethod; // <--obj is an object of type "A" and "A" doesnt know "subclassMethod()"
    so in order to call "subclassMethod" you have to make a explicit casting to "B".
    ((B)obj).subclassMethod(); //remeber that calling a method needs "()"
    The second problem:
    System.out.println("ID is : " +id);You cannot acces a private variable or function from anywhere else but the class.
    If you want to acces you need to declare it:
    protected: for access from anywhere in the package and/or subclass(for your case i recomend this).
    public: for acces from anywhere.
    (nothing)package:(dont declare anything) acces for anywhere from the class.
    In resume:
    Change to the following lines to fix:
    private int id; // --> protected int id;
    obj.subclassMethod;  // --> ((B)obj).subclassMethod();I hope this help.
    N�stor Mata.

  • Why assigning a subclass instance to a variable of type of superclass ?

    Hi all,
    What is the significance of assigning an instance of a subclass to a variable whose type is a superclass's type.
    For eg. List list=new ArrayList();
    If I do so is it possible to execute the methods of the subclass ?
    regards
    Anto Paul.

    In addition, this is what polymorphism is all about:
    abstract class Animal {
      String name;
      Animal(String name) {
        this.name = name;
      public abstract void voice();
    class Dog extends Animal {
      Dog(String name) { super(name); }
      public void voice() {
        System.out.println(name+" barks");
    class Cat extends Animal {
      Cat(String name) { super(name); }
      public void voice() {
        System.out.println(name+" miaows");
    public class Polymorphism {
      public static void main(String args[]) {
        Animal[] animals = {
          new Dog("Fido"),
          new Cat("Felix")
        for (int i = 0; i < animals.length; i++) {
          animals.voice();
    Here, we are looping through an array of Animals. In fact, these are concrete subclasses of the abstract Animal class. In this simple example, you can see from the code that the animals array contains a dog and a cat. But we could even extend this to read in an arbitrary Animal object that had been serialized into a file. At compile time, the exact class of the serialized animal would not be known. But polymorphism occurs at runtime to ensure the correct voice() method is called.
    For the List, or Map example, conisder this:
    public SomeClass {
      public HashMap map1 = new HashMap();  // this ties you to hashmap
      public Map map2 = new HashMap();      // this allows you to change Map implementation
      public void process(HashMap map) {}   // this ties you to hashmap
      public void process(Map map) {}       // this allows you to change Map implementation
    }Suppose you use a HashMap for map2 to start with. But at some point in the future you would like to ensure your map is sorted. By specifying map2 to be a Map, you can change the implementation without having to modify each method call by simplying changing the initiliastion to be:
    Map map2 = new TreeMap();Hope some of this helps :) Cheers, Neil

  • Overwriting a method of a super class in the subclass ???

    Hi,
    can somebody tell me whether it's possible to add a new implementation of a method in the sub class which is inherited from a super class?
    I want to model my program in that way:
    1. I define a super class with some implemented methods.
    2. This class should be inherited in a sub class. One method should be used as it was implemented in the super class but another method should be overwritten in the subclass.
    I know this concept from Java but I couldn't find a way how to do it in ABAP
    Many thanks for any help!
    Best regards,
    Birgit

    hi,
    yeas you can do it,
    Subclass can re-implement  the inherited public and protected methods from superclass.Class C1 contains method METH1(public) and METH2(protected), both of which are modified and re-implemented in  its subclass C2.also you can have ur own methods in subclass.Objects are created out of both classes and the method METH1 for both objects are called.
    Output of the program demonstrates different behaviour for method METH1 of class C1 and C2.
    This demonstrates the theme.
    REPORT YSUBDEL.
    CLASS C1 DEFINITION.
      PUBLIC SECTION.
       METHODS : METH1.
      PROTECTED SECTION.
       METHODS METH2.
      ENDCLASS.
    CLASS C1 IMPLEMENTATION .
      METHOD : METH1.
       WRITE:/5 'I am meth1 in class C1'.
       CALL METHOD METH2.
      ENDMETHOD.
      METHOD : METH2.
       WRITE:/5 ' I am meth2 in class C1 '.
      ENDMETHOD.
    ENDCLASS.
    CLASS C2 DEFINITION INHERITING FROM C1.
    PUBLIC SECTION.
      METHODS : METH1 redefinition,
      meth3.
    PROTECTED SECTION.
      METHODS : METH2 redefinition.
    ENDCLASS.
    CLASS C2 IMPLEMENTATION.
    METHOD METH1.
       WRITE:/5 'I am meth1 in class C2'.
       call method meth2.
    endmethod.
      METHOD : METH2.
      WRITE:/5 ' I am meth2 in class C2 '.
    ENDMETHOD.
    METHOD : METH3.
      WRITE:/5 ' I am own method of class C2'.
    ENDMETHOD.
    endclass.
    START-OF-SELECTION.
      DATA : OREF1 TYPE REF TO C1 ,
             OREF2 TYPE REF TO C2.
      CREATE OBJECT :  OREF1 , OREF2.
      CALL METHOD : OREF1->METH1 ,
                    OREF2->METH1.
    hope it helps,
    regards

  • Calling a particular Method of all subclass from a super class

    hi
    I have a class 'A' which is a super class for 'B' ,'C' , 'D'
    my main method is in the class Main and while on the run i am calling methods of B,C,D form this main class.
    but as the first step of execution i need to call a init method which has been defined in all the sub-classes. and there can be any no of sub-classes and all will have the init method and i have to call the init method for all classes. is this possible to do that in runtime. ie i wil not be knowing the names of sub-classes.
    thanks
    zeta

    Sorry if i had mislead you all.
    I am not instantiating from my super class.
    as mjparme i wanted one controller class to do the
    init method calls
    so i got it working from the link you gave.
    URL url = Launcher.class.getResource(name);
    File directory = new File(url.getFile());
    This way i can get all the classes in that
    in that package
    and from reflection i can get whether it is
    her it is a sub class of the particular super class
    and i can call the init methods by making the init
    methods static
    thanks for the help
    zetaThis is a rather fragile solution.
    If the problem is one of knowing which subclasses exist, I would suggest specifying them explicitly via configuration (system property or properties file or whatever).
    One thing that's not entirely clear to me: Is the init going to be called once for each subclass, or once for each instance of each subclass? It sounds to me like it's once per class, but I want to make sure.

  • Calling the super class method from the subclass

    Hi all,
    I have a question about inheritence and redefinition of methods. Is it possible to call the superclass implementation of a method which is redefined in the subclass in another method of the subclass?There are possbilities like creation of an explicit super class instance or delegating the super class method implementation to another method which is also protected etc. What i mean is, is there a direct way of calling it?We have ,me,   as the reference for the instance we have(which is the subclass instance in this case), is there also a way of pointing the superclass implementation(with super we can reference in the subclass redefinition, my question is if we have such a parameter in other methods of the subclass too)
    Thanks in advance
    Sukru

    Hi,
    The super reference can only be used in redefined methods to call superclass implementation . So probably what you can do is use upcasting and access the required superclass implementation. I can think of only this way...;-)
    Ex data lr_super type ref to cl_superclass
    lr_super = lr_subclass.
    lr_super->method().
    ~Piyush Patil

  • Hi all, i'm new and facing a problem while creating a new file for Xcode. I can't select the box "with XIB for user interface" if the subclass is "UIViewController".this problem happen after i upgrade Xcode to 4.6 version.Appreciate for any help rendered.

    Hi all, i'm new to Mac book & Xcode. I'm learning and facing problems while creating a new file for Xcode. Before i upgrade the software, i have no issue to create simple steps in apps. After upgrade Xcode to 4.6 version, i'm facing lot's of issue eg.
    1) "the identity "iphone developer" doesn't match any valid certificate/ private key pair",
    2) can't select the box "with XIB for user interface" if the subclass is "UIViewController"..
    Appreciate for any help rendered.

    Mikko777 wrote:So what is the best?
    I wouldn't judge. I've been to Arch for a week, you know? But as said, it's VERY close to it.
    What I dislike after a week is makepkg not handling dependencies automatically (which would be overhead, so probably not appropriate).
    Mikko777 wrote:Also theres KDEmod for modular kde, dunno if its for 64 bits tho.
    Don't actually need that as said ... I see no real benefit of having that other than not beeing a KDE user or having Gentoos useflags.
    Mikko777 wrote:PS:You produce a lot of text and welcome smile
    Yeah. Wonder why I'm still employed? So do I ...

  • FRM-18108 Error when opening a form with subclassed objects

    Dear Group,
    I have 2 forms in Oracle Forms 6i. One of the forms contains an object group. The other form contains the object that I subclassed it to.
    When I open the form that contains the subclassed object group, I get the FRM-18108 error.
    If I open the form with the original object group, then open the subclassed form, there is no error.
    Does this mean I must always open the original form in order to work on the one with the subclassed object group?
    I hope there is an simple solution to what is something I am missing in my Oracle Forms setup.
    Thank you in advance.
    Emad

    Hi Duncan.
    Your suggestion worked.
    Thank you for the fast response!
    Truly,
    Emad

  • To subclass, or not to subclass? That is the question.

    I have a comand bar built from Command objects. The Command knows how to display itself (flat, then raised w/mouseOver, depressed w/mousePressed...). The command bar may be either an icon bar or a menu bar - the Command knows about icons, text names, tooltip text and so on.
    The icon bar is simpler in its painting (just icon). The menu shows icon (if any) name, shortcut, . . . So should I have a CommandBar class that knows how to display itself in two skins? Or should I have a MenuBar that extends IconBar? Or a MenuBar and an IconBar that both extend CommandBar?
    More generally, given close siblings when should you choose a single class with options and when should you subclass? (Assume that the single class is not so big that division is a practical necessity.)

    You can always use the Decorator (GoF) pattern. Look at what Sun did with collections. You have List (and ArrayList, etc.). There is also a method in Collections: synchronizedList(). That 'wraps' the normal list with a decorator that provides synchronization. For your application, take the 'base' functionality and add a decorator for paint() and fire().
    As far as general design principles, I follow something that is probably not an accepted standard: I only sub-class abstract classes. Sometimes, you get a non-sensical design, such as:
    AbstractButton
    DefaultButton extends AbstractButton (with only a constructor)
    ComplicatedButton extends AbstractButton (with constructor and extra methods)
    Now, from an efficiency perspective, it would probably be best to collapse AbstractButton into DefaultButton and have ComplicatedButton extend that class. However, I have been on too many projects where someone wants to create a hierarchy n levels deep (usually more than three). The problem is that tihs 'freezes' your design, as you can only inherit from a single superclass.
    So, my general solution to this is to have only one level of inheritance, and that inheritance only occurs from an abstract parent. For the remainder of the design, I use interfaces, composition and delegation liberally. This allows the most 'freedom' in your hierarchy without any loss in functionality.
    For example, why inherit from a concrete class when you can simply declare an interface, make a helper that implements that interface's methods and then delegate calls to the helper in subclasses? I now am only inheriting from Object, which allows me, in the future, to inherit from a Java class or my own abstract class.
    That probably did not help answer your question. But that's generally how I approach things. Caveat implementor: other designs may be equally valid.
    - Saish

  • RE: Subclass windows

    Prasad:
    Good point!! If Forte went to fully dynamic binding, the problem would likely
    go away. The core problem appears to be that non-window classes are bound at
    'compile' time. Window classes are bound at both initial code creation and
    compile time. Given the practical problems around windows, look and feel,
    realestate management, this may be the only practical solution. The real
    problem is, no matter what you do, if you have to change a parent window you
    will be experiencing some considerable pain.
    bill
    From: Prasad Muppirala
    Sent: Friday, February 21, 1997 12:50 PM
    To: 'forte-users'; '[email protected]'; Bill Gonch
    Subject: RE: Subclass windows
    This is true to a certain extent though the problem we are concerned
    does'nt go away. If we any time inherit from a window that has
    widgets, we have to name each and every widget, which will not give us
    the
    warning related to the tag errors......
    This way atleast certain forte executables run fine. But on the other
    hand the window inheritance hierarchy has had problems, which have been
    brought to the notice of Forte.....
    The work around that I used to use:
    If we don't have many widget changes done in the subclass, and you are
    willing to redo the changes pertinent to the subclass, then what can be
    done is make the changes to the widgets in the parent class,
    Break the inheritance relationship for the subclass, for example let
    this subclass inherit from UserWindow,
    then go back and reestablish the parent child relationship. This way
    all the changes made to the parent class get reflected. But now the
    work is to make those changes explicitly in the subclass that we lost,
    because of breaking the relationship. Pex out and pex in seems to be
    also an alternative.
    Prasad Muppirala
    Consultant
    Forte National Practice
    Born Information Services Group
    (612)404-4300
    From: Bill Gonch[SMTP:[email protected]]
    Sent: Friday, February 21, 1997 1:36 AM
    To: forte-users; [email protected]
    Subject: RE: Subclass windows
    Bottom line, and I think there is a technote on this. if you do not name
    every
    widget, sub classing windows is not a good idea. Most ofter, violations of
    this rule result in a seg v, but they can produce other symptoms
    ciao
    bill
    From: [email protected] on behalf of
    [email protected]
    Sent: Thursday, February 20, 1997 1:59 PM
    To: [email protected]
    Subject: Subclass windows
    Re Corrado Tamietti's window subclassing problems:
    STRANGE things can happen if you have not named ALL widgets in the
    superclass window (including ALL TextGraphics, GridFields,
    CompoundMenus, and all those other things that we usually leave unnamed
    because we do not need to manipulate them). Apparantly the name is how
    Forte decides whether the widget is inherited. Once we started naming
    everything, our subclass windows started behaving MUCH better after
    modification of the superclass.
    You still lose your window titles when you insert a new class into the
    hierarchy, though. This seems like a bug to me, but what do I know? On
    the whole, the "PEX out, PEX back" suggestion sounds the best if it's
    practical, but I STILL fear that if you do not name EVERY widget in the
    superclass, you will be sorry.
    Tom Wyant

    Prasad:
    Good point!! If Forte went to fully dynamic binding, the problem would likely
    go away. The core problem appears to be that non-window classes are bound at
    'compile' time. Window classes are bound at both initial code creation and
    compile time. Given the practical problems around windows, look and feel,
    realestate management, this may be the only practical solution. The real
    problem is, no matter what you do, if you have to change a parent window you
    will be experiencing some considerable pain.
    bill
    From: Prasad Muppirala
    Sent: Friday, February 21, 1997 12:50 PM
    To: 'forte-users'; '[email protected]'; Bill Gonch
    Subject: RE: Subclass windows
    This is true to a certain extent though the problem we are concerned
    does'nt go away. If we any time inherit from a window that has
    widgets, we have to name each and every widget, which will not give us
    the
    warning related to the tag errors......
    This way atleast certain forte executables run fine. But on the other
    hand the window inheritance hierarchy has had problems, which have been
    brought to the notice of Forte.....
    The work around that I used to use:
    If we don't have many widget changes done in the subclass, and you are
    willing to redo the changes pertinent to the subclass, then what can be
    done is make the changes to the widgets in the parent class,
    Break the inheritance relationship for the subclass, for example let
    this subclass inherit from UserWindow,
    then go back and reestablish the parent child relationship. This way
    all the changes made to the parent class get reflected. But now the
    work is to make those changes explicitly in the subclass that we lost,
    because of breaking the relationship. Pex out and pex in seems to be
    also an alternative.
    Prasad Muppirala
    Consultant
    Forte National Practice
    Born Information Services Group
    (612)404-4300
    From: Bill Gonch[SMTP:[email protected]]
    Sent: Friday, February 21, 1997 1:36 AM
    To: forte-users; [email protected]
    Subject: RE: Subclass windows
    Bottom line, and I think there is a technote on this. if you do not name
    every
    widget, sub classing windows is not a good idea. Most ofter, violations of
    this rule result in a seg v, but they can produce other symptoms
    ciao
    bill
    From: [email protected] on behalf of
    [email protected]
    Sent: Thursday, February 20, 1997 1:59 PM
    To: [email protected]
    Subject: Subclass windows
    Re Corrado Tamietti's window subclassing problems:
    STRANGE things can happen if you have not named ALL widgets in the
    superclass window (including ALL TextGraphics, GridFields,
    CompoundMenus, and all those other things that we usually leave unnamed
    because we do not need to manipulate them). Apparantly the name is how
    Forte decides whether the widget is inherited. Once we started naming
    everything, our subclass windows started behaving MUCH better after
    modification of the superclass.
    You still lose your window titles when you insert a new class into the
    hierarchy, though. This seems like a bug to me, but what do I know? On
    the whole, the "PEX out, PEX back" suggestion sounds the best if it's
    practical, but I STILL fear that if you do not name EVERY widget in the
    superclass, you will be sorry.
    Tom Wyant

Maybe you are looking for

  • Mail.app too many Ins and no outs

    My Mail.app has never been innocent of odd lapses here and there. As a user with modest demands, I've ignored the less egregious problems. In recent days, my more egregious problems have escalated. My email client downloads messages from the POP serv

  • Can I share iPhoto between 2 users ?

    My wife and I each have separate user accounts on our Imac, but we'd like to share the Iphoto library.  Since my account was set up first and done so some time ago, all of our family pics are under my user account.  Can we share the library so new im

  • Officejet K550 Pro: Paper Feed Problems

    About a year or two ago, we purchased a K550 unit for our office, and 3 subsequent units for employees' personal use.  At first, everything went great - it was the best inkjet printer I or my staff had ever owned!  After a month of great service, my

  • ArgumentError: Error #2025 - I can not removeChild?

    function urunlergelsin (e:MouseEvent):void {     var urunlermenum:urunlermenu = new urunlermenu();     bg.solurunmenusu.addChild(urunlermenum); // Added new one     var geridonbuton:geridon = new geridon();     bg.geridonus_mc.addChild(geridonbuton);

  • OVD -  configuring multiple  adapters not working

    Hello I have an OVD (11.1.1.6.0) installation on Linux. I have configured two LDAP adapters (Oracle_Internet_Directory) in it. Now when I try 'ldapsearch' to test the connection, I see that users from only one ldap server is getting authenticated. Fo