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

View File

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

View File

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