mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-22 04:39:27 +02:00
IDE: designer: implemented using ancestor in TCustomFormEditor.SaveUnitComponentToBinStream
git-svn-id: trunk@15230 -
This commit is contained in:
parent
da7efa80db
commit
3668e304fa
@ -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 ...');
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user