IDE: designer: implemented using ancestor in TCustomFormEditor.SaveUnitComponentToBinStream

git-svn-id: trunk@15230 -
This commit is contained in:
mattias 2008-05-26 00:08:46 +00:00
parent da7efa80db
commit 3668e304fa
3 changed files with 13 additions and 7 deletions

View File

@ -404,7 +404,7 @@ procedure TComponentWithOverrideValidateRename.ValidateRename(
var
Designer: TIDesigner;
begin
//debugln('TComponentWithOverrideValidateRename.ValidateRename ',DbgSName(Self));
//debugln(['TComponentWithOverrideValidateRename.ValidateRename ',DbgSName(Self),' ',DbgSName(AComponent),' CurName=',CurName,' NewName=',NewName]);
inherited ValidateRename(AComponent, CurName, NewName);
Designer:=FindRootDesigner(Self);
if Designer <> nil then
@ -763,12 +763,11 @@ function TJITComponentList.AddJITComponentFromStream(BinStream: TStream;
FCurReadStreamClass:=StreamClass;
DestroyDriver:=false;
InitReading(AStream,Reader,DestroyDriver);
{$IFDEF VerboseJITForms}
debugln('[TJITComponentList.AddJITComponentFromStream] Read ...');
{$ENDIF}
{ $IFDEF VerboseJITForms}
DebugLn(['TJITComponentList.AddJITComponentFromStream.ReadStream Reading: FCurReadJITComponent=',DbgSName(FCurReadJITComponent),' StreamClass=',DbgSName(StreamClass),' Ancestor=',DbgSName(Ancestor)]);
{ $ENDIF}
try
Reader.Ancestor:=AnAncestor;
DebugLn(['TJITComponentList.AddJITComponentFromStream.ReadStream FCurReadJITComponent=',DbgSName(FCurReadJITComponent),' StreamClass=',DbgSName(StreamClass),' Ancestor=',DbgSName(Ancestor)]);
Reader.ReadRootComponent(FCurReadJITComponent);
{$IFDEF VerboseJITForms}
debugln('[TJITComponentList.AddJITComponentFromStream] Finish Reading ...');

View File

@ -1336,6 +1336,8 @@ function TCustomFormEditor.SaveUnitComponentToBinStream(AnUnitInfo: TUnitInfo;
var
Writer: TWriter;
DestroyDriver: Boolean;
AncestorUnitInfo: TUnitInfo;
Ancestor: TComponent;
begin
// save designer form properties to the component
SaveHiddenDesignerFormProperties(AnUnitInfo.Component);
@ -1353,7 +1355,11 @@ begin
try
BinCompStream.Position:=0;
Writer:=CreateLRSWriter(BinCompStream,DestroyDriver);
Writer.WriteDescendent(AnUnitInfo.Component,nil);
AncestorUnitInfo:=AnUnitInfo.FindAncestorUnit;
Ancestor:=nil;
if AncestorUnitInfo<>nil then
Ancestor:=AncestorUnitInfo.Component;
Writer.WriteDescendent(AnUnitInfo.Component,Ancestor);
if DestroyDriver then Writer.Driver.Free;
FreeAndNil(Writer);
AnUnitInfo.ComponentLastBinStreamSize:=BinCompStream.Size;

View File

@ -2645,7 +2645,8 @@ var
// Convert property list
while not (parser.TokenSymbolIs('END') or
parser.TokenSymbolIs('OBJECT') or
parser.TokenSymbolIs('INHERITED'))
parser.TokenSymbolIs('INHERITED') or
parser.TokenSymbolIs('INLINE'))
do
ProcessProperty;
Output.WriteByte(0); // Terminate property list