From b86d3c39a1c26acecbf4de1bdba8e2e0b24bce0d Mon Sep 17 00:00:00 2001 From: lazarus Date: Tue, 16 Jan 2001 16:21:29 +0000 Subject: [PATCH] Changed LResources to TLResources Shane git-svn-id: trunk@124 - --- ide/idecomp.pp | 4 +-- ide/main.pp | 10 +++++--- ide/uniteditor.pp | 4 +-- lcl/forms.pp | 4 +-- lcl/lresources.pp | 63 +++++++++++++++++++++++------------------------ 5 files changed, 44 insertions(+), 41 deletions(-) diff --git a/ide/idecomp.pp b/ide/idecomp.pp index 24618d6cff..709412e118 100644 --- a/ide/idecomp.pp +++ b/ide/idecomp.pp @@ -220,11 +220,11 @@ function TIDEComponent.LoadImageIntoPixmap: TPixmap; function LoadResource(ResourceName:string; PixMap:TPixMap):boolean; var ms:TMemoryStream; - res:LResource; + res:TLResource; begin Result:=false; res:=LazarusResources.Find(ResourceName); - if (res.Value<>'') then begin + if (res <> nil) then begin if res.ValueType='XPM' then begin ms:=TMemoryStream.Create; try diff --git a/ide/main.pp b/ide/main.pp index 1b75022745..7c4fe2f7a0 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -226,11 +226,11 @@ uses function LoadResource(ResourceName:string; PixMap:TPixMap):boolean; var ms:TMemoryStream; - res:LResource; + res:TLResource; begin Result:=false; res:=LazarusResources.Find(ResourceName); - if (res.Value<>'') then begin + if (res = nil) or (res.Value<>'') then begin if res.ValueType='XPM' then begin ms:=TMemoryStream.Create; try @@ -1013,7 +1013,7 @@ Var ResourceData : String; I,A : Integer; Instance : TComponent; - CompResource : LResource; + CompResource : TLResource; Begin textFile := TStringList.Create; TextFile.LoadFromFile(Value); @@ -1933,6 +1933,10 @@ end. { ============================================================================= $Log$ + Revision 1.46 2001/01/16 16:21:29 lazarus + Changed LResources to TLResources + Shane + Revision 1.45 2001/01/15 20:55:44 lazarus Changes for loading filesa Shane diff --git a/ide/uniteditor.pp b/ide/uniteditor.pp index fca8137cb2..416007fba3 100644 --- a/ide/uniteditor.pp +++ b/ide/uniteditor.pp @@ -954,11 +954,11 @@ constructor TSourceNotebook.Create(AOwner: TComponent); function LoadResource(ResourceName:string; PixMap:TPixMap):boolean; var ms:TMemoryStream; - res:LResource; + res:TLResource; begin Result:=false; res:=LazarusResources.Find(ResourceName); - if (res.Value<>'') then begin + if (res = nil) or (res.Value<>'') then begin if res.ValueType='XPM' then begin ms:=TMemoryStream.Create; try diff --git a/lcl/forms.pp b/lcl/forms.pp index 58f3d6669b..abac5876fb 100644 --- a/lcl/forms.pp +++ b/lcl/forms.pp @@ -333,7 +333,7 @@ function InitResourceComponent(Instance: TComponent; RootAncestor: TClass):Boolean; function InitComponent(ClassType: TClass): Boolean; - var CompResource:LResource; + var CompResource:TLResource; a:integer; begin Result:=false; @@ -341,7 +341,7 @@ function InitResourceComponent(Instance: TComponent; if Assigned(ClassType.ClassParent) then Result:=InitComponent(ClassType.ClassParent); CompResource:=LazarusResources.Find(Instance.ClassName); - if (CompResource.Value='') then exit; + if (CompResource = nil) or (CompResource.Value='') then exit; // Writeln('Compresource.value is '+CompResource.Value); if (ClassType.InheritsFrom(TForm)) and (CompResource.ValueType<>'FORMDATA') then exit; diff --git a/lcl/lresources.pp b/lcl/lresources.pp index 44462d21b0..96fedc4b39 100644 --- a/lcl/lresources.pp +++ b/lcl/lresources.pp @@ -25,15 +25,15 @@ uses Classes, SysUtils, Strings; type - PLResource = ^LResource; - LResource = record + TLResource = class + public Name: AnsiString; ValueType: AnsiString; Value: AnsiString; end; TLResourceList = class(TObject) - private + public //private FList:TList; // main list with all resource pointer FMergeList:TList; // list needed for mergesort FSortedCount:integer; // 0 .. FSortedCount-1 resources are sorted @@ -43,7 +43,7 @@ type procedure Merge(List,MergeList:TList;Pos1,Pos2,Pos3:integer); public procedure Add(Name,ValueType,Value:AnsiString); - function Find(Name:AnsiString):LResource; + function Find(Name:AnsiString):TLResource; constructor Create; destructor Destroy; override; end; @@ -225,56 +225,55 @@ end; destructor TLResourceList.Destroy; var a:integer; - p:PLResource; begin - for a:=0 to FList.Count-1 do begin - p:=FList[a]; - LResource(p^).Name:=''; - LResource(p^).ValueType:=''; - LResource(p^).Value:=''; - FreeMem(p); - end; + for a:=0 to FList.Count-1 do + TLResource(FList[a]).Free; FList.Free; FMergeList.Free; end; procedure TLResourceList.Add(Name,ValueType,Value:AnsiString); -var NewPLResource:PLResource; +var + NewLResource:TLResource; begin - GetMem(NewPLResource,SizeOf(LResource)); - NewPLResource^.Name:=Name; - NewPLResource^.ValueType:=uppercase(ValueType); - NewPLResource^.Value:=Value; - FList.Add(NewPLResource); + NewLResource:=TLResource.Create; + NewLResource.Name:=Name; + NewLResource.ValueType:=uppercase(ValueType); + NewLResource.Value:=Value; + FList.Add(NewLResource); end; -function TLResourceList.Find(Name:AnsiString):LResource; +function TLResourceList.Find(Name:AnsiString):TLResource; var p:integer; begin p:=FindPosition(Name); - if (p>=0) and (p=0) and (p0 then + else + if cmp>0 then l:=Result+1 else exit; @@ -298,7 +297,7 @@ begin if Pos1=Pos2 then begin end else if Pos1+1=Pos2 then begin cmp:=AnsiCompareText( - LResource(List[Pos1]^).Name,LResource(List[Pos2]^).Name); + TLResource(List[Pos1]).Name,TLResource(List[Pos2]).Name); if cmp>0 then begin MergeList[Pos1]:=List[Pos1]; List[Pos1]:=List[Pos2]; @@ -325,7 +324,7 @@ begin DestPos:=Pos3; while (Src2Pos>=Pos2) and (Src1Pos>=Pos1) do begin cmp:=AnsiCompareText( - LResource(List[Src1Pos]^).Name,LResource(List[Src2Pos]^).Name); + TLResource(List[Src1Pos]).Name,TLResource(List[Src2Pos]).Name); if cmp>0 then begin MergeList[DestPos]:=List[Src1Pos]; dec(Src1Pos);