anchor.diff:  
   { TDDuiForm }
   
  +procedure TDDuiForm.AddObjectEvent(AType, AObjName: string;
  +  AEvent: TDuiObjectEvent);
  +{$IFDEF SupportGeneric}
  +var
  +  LItem: TDuiObjecItem;
  +begin
  +  LItem.EventType := AType;
  +  LItem.ObjName := AObjName;
  +  LItem.Event := AEvent;
  +  if not FObjectEvents.ContainsKey(AObjName) then
  +    FObjectEvents.Add(AObjName, LItem);
  +end;
  +{$ELSE}
  +var
  +  LItem: PDuiObjecItem;
  +begin
  +  if IndexOfObjEvent(AObjName) = -1 then
  +  begin
  +    New(LItem);
  +    LItem^.EventType := AType;
  +    LItem^.ObjName := AObjName;
  +    LItem^.Event := AEvent;
  +    FObjectEvents.Add(LItem);
  +  end;
  +end;
  +{$ENDIF}
  +
  +procedure TDDuiForm.ClearEvents;
  +{$IFDEF SupportGeneric}
  +begin
  +  FObjectEvents.Clear;
  +end;
  +{$ELSE}
  +var
  +  I: Integer;
  +begin
  +  for I := 0 to FObjectEvents.Count - 1 do
  +    Dispose(FObjectEvents[I]);
  +  FObjectEvents.Free;
  +end;
  +{$ENDIF}
  +
  +{$IFNDEF SupportGeneric}
  +function TDDuiForm.IndexOfObjEvent(AObjName: string): Integer;
  +var
  +  I: Integer;
  +  P: PPointer;
  +begin
  +  P := Pointer(FObjectEvents);
  +  for Result := 0 to FObjectEvents.Count - 1 do
  +  begin
  +    if PDuiObjecItem(P)^.ObjName = AObjName then
  +      Exit;
  +    Inc(P);
  +  end;
  +  Result := -1;
  +end;
  +{$ENDIF}
  +
  +
   constructor TDDuiForm.Create(AOwner: TComponent);
   begin
     inherited Create(AOwner);
  
positive.code:     FOnHandleMessage: TDuiMessageEvent;
      FOnClick: TDuiNotifyEvent;
      procedure NewWndProc(var Msg: TMessage);
    protected
      procedure Loaded; override;
    public
      constructor Create(AOwner: TComponent); override;
      destructor Destroy; override;
      procedure InitDuiComponent;  
      property DUI: TDuiComponent read FDuiComponent;
    published
      property SkinFolder: string read FSkinFolder write FSkinFolder;
      property SkinXml: string read FSkinXml write FSkinXml;
  
negative.code:   Messages,
    SysUtils,
    Classes,
    Forms
  {$IFDEF SupportGeneric}
    ,Generics.Collections
  {$ENDIF}
    ,Duilib,
    DuiConst,
    DuiWindowImplBase;
  
  