Kbase P173607: Design canvas exception occurs in Visual Designer when attempting to display a derived class
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  21/12/2010 |
|
Status: Unverified
SYMPTOM(s):
Design canvas exception occurs in Visual Designer when attempting to display a derived class
Visual Designer cannot load this class
Visual Designer cannot load this class - An exception occurred loading the design canvas
An exception occurred loading the design canvas: The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file:
[class] --- The base class [base_class] could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
[class] --- The base class [base_class] could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
java.lang.reflect.InvocationTargetException: An exception occurred loading the design canvas: The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file:
[class] --- The base class '[base_class]' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
[class] --- The base class '[base_class]' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
at com.openedge.pdt.ve.editor.VisualDesignerFormLoader.run(VisualDesignerFormLoader.java:206)
at com.openedge.pdt.ve.editor.VisualDesigner.loadDesignEditor(VisualDesigner.java:614)
at com.openedge.pdt.ve.editor.VisualDesigner.doSafeLoadDesignEditor(VisualDesigner.java:566)
at com.openedge.pdt.ve.editor.VisualDesigner.doLoad(VisualDesigner.java:527)
at com.openedge.pdt.ve.editor.VisualDesigner.loadDesignEditor(VisualDesigner.java:901)
at com.openedge.pdt.ve.editor.VisualDesigner$7$1.run(VisualDesigner.java:948)
at java.lang.Thread.run(Thread.java:595)
Caused by: com.openedge.pdt.ve.comm.ClientServiceException: An exception occurred loading the design canvas: The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file:
[class] --- The base class '[base_class]' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
[class] --- The base class '[base_class]' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
at com.openedge.pdt.ve.editor.command.output.IPCDeSerializeCodeDomMessage.execute(IPCDeSerializeCodeDomMessage.java:92)
at com.openedge.pdt.ve.editor.VisualDesignerClient.execute(VisualDesignerClient.java:338)
at com.openedge.pdt.ve.editor.VisualDesignerFormLoader.run(VisualDesignerFormLoader.java:177)
... 6 more
Root exception:
com.openedge.pdt.ve.comm.ClientServiceException: An exception occurred loading the design canvas: The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file:
[class] --- The base class '[base_class]' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
[class] --- The base class '[base_class]' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
at com.openedge.pdt.ve.editor.command.output.IPCDeSerializeCodeDomMessage.execute(IPCDeSerializeCodeDomMessage.java:92)
at com.openedge.pdt.ve.editor.VisualDesignerClient.execute(VisualDesignerClient.java:338)
at com.openedge.pdt.ve.editor.VisualDesignerFormLoader.run(VisualDesignerFormLoader.java:177)
at com.openedge.pdt.ve.editor.VisualDesigner.loadDesignEditor(VisualDesigner.java:614)
at com.openedge.pdt.ve.editor.VisualDesigner.doSafeLoadDesignEditor(VisualDesigner.java:566)
at com.openedge.pdt.ve.editor.VisualDesigner.doLoad(VisualDesigner.java:527)
at com.openedge.pdt.ve.editor.VisualDesigner.loadDesignEditor(VisualDesigner.java:901)
at com.openedge.pdt.ve.editor.VisualDesigner$7$1.run(VisualDesigner.java:948)
at java.lang.Thread.run(Thread.java:595)
FACT(s) (Environment):
Form A inherits Form B
Form B defines Form C as a Member
Form A cannot be displayed in Visual Designer
OpenEdge 10.2A02
OpenEdge 10.2A03
OpenEdge 10.2B
OpenEdge 10.2B01
Windows
CAUSE:
Bug# OE00198035
FIX:
Option #1
Upgrade to 10.2B02
Option #2
The problem is caused by the fact that one of the involved classes (myClass) has a member variable of the same type (myClass), the workaround is to define the variable as a super class of myClass, for instance:
/* define a variable to keep a reference to itself in myClass.cls */
DEFINE PUBLIC VARIABLE myClass AS System.Object NO-UNDO.
Instead of the following definition:
/* define a variable to kee a reference to itself in myClass.cls */
DEFINE PUBLIC VARIABLE myClass AS myClass NO-UNDO.