1
0
mirror of synced 2024-11-14 19:13:50 +00:00

Fixed: reference to an enumeration is resolved as a simple type and turns into a Variant instead of a properly typed enumeration

This commit is contained in:
Mark van Renswoude 2011-10-12 10:47:37 +00:00
parent 66ce9ae1c9
commit 23d6e7e18e
3 changed files with 44 additions and 42 deletions

View File

@ -82,10 +82,6 @@ object MainForm: TMainForm
TabOrder = 2
object spFile: TTabSheet
TabVisible = False
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object lblFile: TLabel
Left = 8
Top = 7
@ -200,10 +196,10 @@ object MainForm: TMainForm
Style.HotTrack = False
Left = 264
Top = 60
PixelsPerInch = 96
end
object LookAndFeel: TcxLookAndFeelController
Kind = lfFlat
NativeStyle = True
Left = 368
Top = 60
end

View File

@ -23,7 +23,7 @@ uses
cxTextEdit,
DataBindingHintsXML,
XMLDataBindingGenerator, cxGraphics, cxLookAndFeelPainters;
XMLDataBindingGenerator, cxGraphics, cxLookAndFeelPainters, cxClasses;
type

View File

@ -812,7 +812,9 @@ begin
enumerationObject := TXMLDataBindingEnumeration.Create(Self, AElement, AElement.DataType.Enumerations, AElement.Name, False);
ASchema.AddItem(enumerationObject);
Result := enumerationObject;
end else if AElement.DataType.IsComplex then
end else
begin
if AElement.DataType.IsComplex then
begin
{ Interface }
interfaceObject := TXMLDataBindingInterface.Create(Self, AElement, AElement.Name);
@ -856,6 +858,7 @@ begin
end;
end;
end;
end;
end;
@ -1177,7 +1180,10 @@ begin
end;
itUnresolved:
begin
ResolveItem(ASchema, TXMLDataBindingUnresolvedItem(item));
FreeAndNil(item);
end;
end;
end;
end;