Changeset 24
- Timestamp:
- Nov 10, 2010, 9:42:27 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Compiler/Analyze/UAnalyzerPascal.pas
r21 r24 50 50 function ParseType(TypeList: TTypeList; var NewType: TType; ExpectName: Boolean = True; 51 51 AssignSymbol: string = '='; ForwardDeclaration: Boolean = False): Boolean; 52 function ParseTypeSubType(TypeList: TTypeList; var NewType: TType; Name: string; 52 function ParseTypeParameters(var NewType: TType): Boolean; 53 function ParseTypeSubType(var NewType: TType; 53 54 ExpectName: Boolean; ForwardDeclaration: Boolean): Boolean; 54 function ParseTypeBase( TypeList: TTypeList; var NewType: TType; Name: string): Boolean;55 function ParseTypePointer( TypeList: TTypeList; var NewType: TType; Name: string): Boolean;56 function ParseTypeEnumeration( TypeList: TTypeList; var NewType: TType; Name: string): Boolean;57 function ParseTypeRecord( TypeList: TTypeList; var NewType: TType; Name: string): Boolean;58 function ParseTypeClass( TypeList: TTypeList; var NewType: TType; Name: string): Boolean;59 function ParseTypeArray( TypeList: TTypeList; var NewType: TType; Name: string): Boolean;60 function ParseTypeSubRange( TypeList: TTypeList; var NewType: TType; Name: string): Boolean;55 function ParseTypeBase(var NewType: TType): Boolean; 56 function ParseTypePointer(var NewType: TType): Boolean; 57 function ParseTypeEnumeration(var NewType: TType): Boolean; 58 function ParseTypeRecord(var NewType: TType): Boolean; 59 function ParseTypeClass(var NewType: TType): Boolean; 60 function ParseTypeArray(var NewType: TType): Boolean; 61 function ParseTypeSubRange(var NewType: TType): Boolean; 61 62 constructor Create; 62 63 destructor Destroy; override; … … 1024 1025 function TAnalyzerPascal.ParseType(TypeList: TTypeList; var NewType: TType; ExpectName: Boolean = True; 1025 1026 AssignSymbol: string = '='; ForwardDeclaration: Boolean = False): Boolean; 1026 var 1027 Name: string; 1028 TypeName: string; 1029 begin 1030 NewType := nil; 1027 begin 1028 NewType := TType.Create; 1029 NewType.Parent := TypeList; 1031 1030 //with SourceCode do 1032 1031 begin 1033 1032 if ExpectName then begin 1034 Name := ReadToken; 1033 NewType.Name := ReadToken; 1034 if ParseTypeParameters(NewType) then ; 1035 1035 Expect(AssignSymbol); 1036 1036 end; 1037 1037 1038 1038 Result := True; 1039 if not ParseTypeEnumeration( TypeList, NewType, Name) then1040 if not ParseTypeRecord( TypeList, NewType, Name) then1041 if not ParseTypeClass( TypeList, NewType, Name) then1042 if not ParseTypeArray( TypeList, NewType, Name) then1043 if not ParseTypePointer( TypeList, NewType, Name) then1044 if not ParseTypeBase( TypeList, NewType, Name) then1045 if not ParseTypeSubType( TypeList, NewType, Name, ExpectName, ForwardDeclaration) then1046 if not ParseTypeSubRange( TypeList, NewType, Name) then begin1039 if not ParseTypeEnumeration(NewType) then 1040 if not ParseTypeRecord(NewType) then 1041 if not ParseTypeClass(NewType) then 1042 if not ParseTypeArray(NewType) then 1043 if not ParseTypePointer(NewType) then 1044 if not ParseTypeBase(NewType) then 1045 if not ParseTypeSubType(NewType, ExpectName, ForwardDeclaration) then 1046 if not ParseTypeSubRange(NewType) then begin 1047 1047 ErrorMessage(SInvalidConstruction, [NextToken]); 1048 NewType.Free; 1048 1049 Result := False; 1049 1050 end; … … 1051 1052 end; 1052 1053 1053 function TAnalyzerPascal.ParseTypeSubType(TypeList: TTypeList; var NewType: TType; Name: string; 1054 function TAnalyzerPascal.ParseTypeParameters(var NewType: TType): Boolean; 1055 var 1056 NewType2: TType; 1057 begin 1058 if NextToken = '<' then begin 1059 Expect('<'); 1060 while ((NextToken = ',') or (NewType.Parameters.Count = 0)) and (NextTokenType <> ttEndOfFile) do begin 1061 if NewType.Parameters.Count > 0 then Expect(','); 1062 NewType2 := TType.Create; 1063 NewType2.Name := ReadToken; 1064 NewType2.Parent := NewType.Parent; 1065 NewType.Parameters.Add(NewType2); 1066 end; 1067 Expect('>'); 1068 Result := True; 1069 end else Result := False; 1070 end; 1071 1072 function TAnalyzerPascal.ParseTypeSubType(var NewType: TType; 1054 1073 ExpectName: Boolean; ForwardDeclaration: Boolean): Boolean; 1055 1074 var 1056 1075 TypeName: string; 1076 TempType: TType; 1057 1077 begin 1058 1078 Result := False; 1059 NewType := nil;1060 1079 // Use existed type 1061 1080 if NextTokenType = ttIdentifier then begin 1062 1081 TypeName := ReadToken; 1063 1082 if ExpectName then begin 1064 NewType := TType.Create; 1065 NewType.Parent := TypeList; 1066 NewType.Name := Name; 1067 NewType.UsedType := TypeList.Search(TypeName); 1083 NewType.UsedType := NewType.Parent.Search(TypeName); 1068 1084 Result := True; 1069 1085 if not Assigned(NewType.UsedType) then 1070 1086 ErrorMessage(SUndefinedType, [TypeName], -1); 1071 1087 end else begin 1072 NewType := TypeList.Search(TypeName);1088 NewType := NewType.Parent.Search(TypeName); 1073 1089 if not Assigned(TType(NewType)) then begin 1074 1090 if ForwardDeclaration then begin 1075 1091 // ForwardDeclaration 1076 NewType := TType.Create;1077 NewType.Parent := TypeList;1078 1092 NewType.Name := TypeName; 1079 1093 NewType.UsedType := nil; … … 1086 1100 end; 1087 1101 1088 function TAnalyzerPascal.ParseTypeBase(TypeList: TTypeList; var NewType: TType; Name: string): Boolean; 1102 function TAnalyzerPascal.ParseTypeBase(var NewType: TType): Boolean; 1103 var 1104 TempType: TType; 1089 1105 begin 1090 1106 // Buildin base type construction 1091 1107 if NextToken = 'type' then begin 1092 1108 Expect('type'); 1109 TempType := NewType; 1093 1110 NewType := TTypeInherited.Create; 1094 NewType. Parent := TypeList;1095 NewType.Name := Name;1111 NewType.Assign(TempType); 1112 TempType.Free; 1096 1113 if NextToken = '(' then begin 1097 1114 Expect('('); 1098 if ParseType( TypeList, NewType.UsedType, False) then ;1115 if ParseType(NewType.Parent, NewType.UsedType, False) then ; 1099 1116 Expect(')'); 1100 1117 end else NewType.UsedType := nil; … … 1103 1120 end; 1104 1121 1105 function TAnalyzerPascal.ParseTypePointer(TypeList: TTypeList; var NewType: TType; Name: string 1106 ): Boolean; 1122 function TAnalyzerPascal.ParseTypePointer(var NewType: TType): Boolean; 1123 var 1124 TempType: TType; 1107 1125 begin 1108 1126 if NextToken = '^' then begin 1109 1127 Expect('^'); 1128 TempType := NewType; 1110 1129 NewType := TTypePointer.Create; 1111 NewType.Parent := TypeList; 1112 NewType.Name := Name; 1113 Result := ParseType(TypeList, NewType.UsedType, False, '=', True); 1114 end else Result := False; 1115 end; 1116 1117 function TAnalyzerPascal.ParseTypeEnumeration(TypeList: TTypeList; var NewType: TType; 1118 Name: string): Boolean; 1130 NewType.Assign(TempType); 1131 TempType.Free; 1132 Result := ParseType(NewType.Parent, NewType.UsedType, False, '=', True); 1133 end else Result := False; 1134 end; 1135 1136 function TAnalyzerPascal.ParseTypeEnumeration(var NewType: TType 1137 ): Boolean; 1138 var 1139 TempType: TType; 1119 1140 begin 1120 1141 if NextToken = '(' then begin 1121 1142 Expect('('); 1143 TempType := NewType; 1122 1144 NewType := TTypeEnumeration.Create; 1123 NewType. Parent := TypeList;1124 NewType.Name := Name;1145 NewType.Assign(TempType); 1146 TempType.Free; 1125 1147 with TTypeEnumeration(NewType) do 1126 1148 with TEnumItem(Items[Items.Add(TEnumItem.Create)]) do begin … … 1148 1170 end; 1149 1171 1150 function TAnalyzerPascal.ParseTypeRecord(TypeList: TTypeList; var NewType: TType; Name: string 1151 ): Boolean; 1172 function TAnalyzerPascal.ParseTypeRecord(var NewType: TType): Boolean; 1152 1173 var 1153 1174 Visibility: TTypeVisibility; 1154 1175 SectionType: TCommonBlockSection; 1155 1176 NewType2: TType; 1177 TempType: TType; 1156 1178 begin 1157 1179 if NextToken = 'record' then begin … … 1159 1181 SectionType := cbsVariable; 1160 1182 Visibility := tvPublic; 1183 TempType := NewType; 1161 1184 NewType := TTypeRecord.Create; 1162 NewType. Parent := TypeList;1163 T TypeRecord(NewType).CommonBlock.Parent := TypeList.Parent;1164 NewType.Name := Name;1185 NewType.Assign(TempType); 1186 TempType.Free; 1187 TTypeRecord(NewType).CommonBlock.Parent := NewType.Parent.Parent; 1165 1188 while (NextToken <> 'end') and (NextTokenType <> ttEndOfFile) do begin 1166 1189 // Visibility sections … … 1220 1243 end; 1221 1244 1222 function TAnalyzerPascal.ParseTypeClass( TypeList: TTypeList; var NewType: TType; Name: string1245 function TAnalyzerPascal.ParseTypeClass(var NewType: TType 1223 1246 ): Boolean; 1224 1247 var 1225 1248 NewType2: TType; 1249 TempType: TType; 1226 1250 begin 1227 1251 if NextToken = 'class' then begin 1228 1252 Expect('class'); 1253 TempType := NewType; 1229 1254 NewType := TTypeClass.Create; 1230 NewType. Parent := TypeList;1231 NewType.Name := Name;1255 NewType.Assign(TempType); 1256 TempType.Free; 1232 1257 if NextToken <> ';' then begin 1233 1258 while (NextToken <> 'end') and (NextTokenType <> ttEndOfFile) do 1234 1259 begin 1235 if ParseType( TypeList, NewType2, True, ':') then begin1236 NewType2.Parent := TypeList;1260 if ParseType(NewType.Parent, NewType2, True, ':') then begin 1261 NewType2.Parent := NewType.Parent; 1237 1262 TTypeClass(NewType).Items.Add(NewType2); 1238 1263 end; … … 1245 1270 end; 1246 1271 1247 function TAnalyzerPascal.ParseTypeArray(TypeList: TTypeList; var NewType: TType; Name: string 1248 ): Boolean; 1272 function TAnalyzerPascal.ParseTypeArray(var NewType: TType): Boolean; 1249 1273 var 1250 1274 UseName: string; 1251 1275 UseType: TType; 1276 TempType: TType; 1252 1277 begin 1253 1278 if NextToken = 'array' then begin 1254 1279 Expect('array'); 1280 TempType := NewType; 1255 1281 NewType := TTypeArray.Create; 1256 NewType. Parent := TypeList;1257 NewType.Name := Name;1282 NewType.Assign(TempType); 1283 TempType.Free; 1258 1284 if NextToken = '[' then begin 1259 1285 Expect('['); 1260 1286 UseName := NextToken; 1261 1287 if NextTokenType = ttIdentifier then begin 1262 TTypeArray(NewType).IndexType := TypeList.Parent.Types.Search(UseName);1288 TTypeArray(NewType).IndexType := NewType.Parent.Parent.Types.Search(UseName); 1263 1289 if not Assigned(TTypeArray(NewType).IndexType) then 1264 1290 ErrorMessage(SUndefinedType, [UseName], -1); 1265 1291 end else 1266 1292 if NextTokenType = ttConstantNumber then begin 1267 ParseTypeSubRange(T ypeList, TTypeArray(NewType).IndexType, Name);1293 ParseTypeSubRange(TTypeArray(NewType).IndexType); 1268 1294 if not Assigned(TTypeArray(NewType).IndexType) then begin 1269 1295 ErrorMessage(SInvalidConstruction, [NextToken], -1); … … 1274 1300 Expect('of'); 1275 1301 UseName := NextToken; 1276 Result := ParseType( TypeList, TTypeArray(NewType).ItemType, False);1302 Result := ParseType(NewType.Parent, TTypeArray(NewType).ItemType, False); 1277 1303 if not Assigned(TTypeArray(NewType).ItemType) then 1278 1304 ErrorMessage(SUndefinedType, [UseName], -1); … … 1280 1306 end; 1281 1307 1282 function TAnalyzerPascal.ParseTypeSubRange(TypeList: TTypeList; var NewType: TType; 1283 Name: string): Boolean; 1308 function TAnalyzerPascal.ParseTypeSubRange(var NewType: TType): Boolean; 1284 1309 var 1285 1310 UseName: string; 1311 TempType: TType; 1286 1312 begin 1287 1313 if NextTokenType = ttConstantString then begin 1314 TempType := NewType; 1288 1315 NewType := TTypeSubRange.Create; 1316 NewType.Assign(TempType); 1317 TempType.Free; 1289 1318 TTypeSubRange(NewType).Bottom := ReadToken; 1290 1319 Expect('..'); … … 1293 1322 end else 1294 1323 if NextTokenType = ttConstantNumber then begin 1324 TempType := NewType; 1295 1325 NewType := TTypeSubRange.Create; 1326 NewType.Assign(TempType); 1327 TempType.Free; 1296 1328 TTypeSubRange(NewType).Bottom := ReadToken; 1297 1329 Expect('..'); -
trunk/Compiler/USourceCode.pas
r19 r24 182 182 end; 183 183 184 { TType } 185 184 186 TType = class 185 187 ForwardDeclared: Boolean; … … 191 193 Exported: Boolean; 192 194 Visibility: TTypeVisibility; 195 Parameters: TTypeList; 196 procedure Assign(Source: TType); 197 constructor Create; 198 destructor Destroy; override; 193 199 end; 194 200 … … 468 474 'shr', 'as', 'div', 'mod', 'or', 'xor', '-', '+', '=', '>', '<', '<>', '<=', 469 475 '>=', 'is', 'in', ':='); 476 477 resourcestring 478 SAssignmentError = 'Assignment error'; 470 479 471 480 implementation … … 1071 1080 constructor TTypeClass.Create; 1072 1081 begin 1082 inherited; 1073 1083 Items := TListType.Create; 1074 1084 end; … … 1080 1090 end; 1081 1091 1092 { TType } 1093 1094 procedure TType.Assign(Source: TType); 1095 var 1096 I: Integer; 1097 NewType: TType; 1098 begin 1099 if Assigned(Source) then begin 1100 Name := Source.Name; 1101 Parameters.Clear; 1102 for I := 0 to Source.Parameters.Count - 1 do begin 1103 NewType := TType.Create; 1104 //NewType := TType(Source.Parameters[I].ClassType.Create); 1105 NewType.Assign(Source.Parameters[I]); 1106 Parameters.Add(NewType); 1107 end; 1108 Visibility := Source.Visibility; 1109 Parent := Source.Parent; 1110 Internal := Source.Internal; 1111 ForwardDeclared := Source.ForwardDeclared; 1112 Exported := Source.Exported; 1113 Size := Source.Size; 1114 UsedType := Source.UsedType; 1115 end else raise Exception.Create(SAssignmentError); 1116 end; 1117 1118 constructor TType.Create; 1119 begin 1120 Parameters := TTypeList.Create; 1121 //Parameters.Parent := Parent.Parent; 1122 end; 1123 1124 destructor TType.Destroy; 1125 begin 1126 Parameters.Free; 1127 inherited Destroy; 1128 end; 1129 1082 1130 end. 1083 1131 -
trunk/IDE/Common/ULastOpenedList.pas
r2 r24 22 22 procedure LoadFromRegistry(Root: HKEY; Key: string); 23 23 procedure SaveToRegistry(Root: HKEY; Key: string); 24 procedure Add (FileName: string);24 procedure AddItem(FileName: string); 25 25 end; 26 26 … … 95 95 end; 96 96 97 procedure TLastOpenedList.Add (FileName:string);97 procedure TLastOpenedList.AddItem(FileName:string); 98 98 begin 99 99 if IndexOf(FileName) <> -1 then Delete(IndexOf(FileName)); -
trunk/IDE/Forms/UCodeForm.pas
r21 r24 19 19 procedure SynEditSourceChange(Sender: TObject); 20 20 private 21 { private declarations } 21 FProjectFile: TProjectFile; 22 procedure SetProjectFile(const AValue: TProjectFile); 22 23 public 23 ProjectFile: TProjectFile; 24 property ProjectFile: TProjectFile read FProjectFile write SetProjectFile; 25 procedure Save; 24 26 end; 25 27 … … 41 43 end; 42 44 45 procedure TCodeForm.SetProjectFile(const AValue: TProjectFile); 46 begin 47 if FProjectFile = AValue then Exit; 48 FProjectFile := AValue; 49 if Assigned(AValue) then 50 SynEditSource.Lines.Assign(FProjectFile.Source) 51 else SynEditSource.ClearAll; 52 end; 53 54 procedure TCodeForm.Save; 55 begin 56 if Assigned(ProjectFile) then 57 ProjectFile.Source.Assign(SynEditSource.Lines); 58 end; 59 43 60 end. 44 61 -
trunk/IDE/Forms/UMainForm.lfm
r21 r24 1 1 object MainForm: TMainForm 2 Left = 3 622 Left = 336 3 3 Height = 501 4 Top = 1 154 Top = 102 5 5 Width = 695 6 6 Caption = 'Transpascal IDE' … … 152 152 Caption = 'New' 153 153 Hint = 'Create new project' 154 OnExecute = AProjectNewExecute 154 155 end 155 156 object AProjectOpen: TAction … … 164 165 Hint = 'Save project to disk' 165 166 OnExecute = AProjectSaveExecute 167 ShortCut = 16467 166 168 end 167 169 object AProjectSaveAs: TAction -
trunk/IDE/Forms/UMainForm.pas
r22 r24 7 7 uses 8 8 SysUtils, Variants, Classes, Graphics, Controls, Forms, 9 Dialogs, StdCtrls, UCompiler, Registry, 9 Dialogs, StdCtrls, UCompiler, Registry, Contnrs, 10 10 ComCtrls, ExtCtrls, SynEdit, SynHighlighterPas, 11 11 UProject, FileUtil, Menus, ActnList, UCoolDocking, … … 52 52 ToolBar1: TToolBar; 53 53 procedure AProjectCloseExecute(Sender: TObject); 54 procedure AProjectNewExecute(Sender: TObject); 54 55 procedure AProjectOpenExecute(Sender: TObject); 55 56 procedure AProjectSaveAsExecute(Sender: TObject); … … 91 92 procedure TMainForm.ABuildExecute(Sender: TObject); 92 93 begin 94 CodeForm.Save; 95 93 96 // Compile project file 94 97 if (ComboBoxAnalyzer.Items.Count > 0) and (ComboBoxAnalyzer.ItemIndex <> -1) and … … 208 211 begin 209 212 Project.LoadFromFile(FileName); 210 LastOpenedFiles.Add (FileName);213 LastOpenedFiles.AddItem(FileName); 211 214 LastOpenedFiles.ReloadMenu; 212 215 ProjectManager.UpdateProjectTree; … … 235 238 for I := 0 to Compiler.Producers.Count - 1 do 236 239 ComboBoxProducer.AddItem(Compiler.Producers[I].Name, nil); 240 237 241 ComboBoxAnalyzer.Clear; 238 242 for I := 0 to Compiler.Analyzers.Count - 1 do … … 289 293 end; 290 294 295 procedure TMainForm.AProjectNewExecute(Sender: TObject); 296 begin 297 Project.Clear; 298 Project.Name := 'New project'; 299 ProjectManager.UpdateProjectTree; 300 Caption := ApplicationInfo.Name + ' - ' + Project.Name; 301 end; 302 291 303 procedure TMainForm.AProjectSaveAsExecute(Sender: TObject); 292 304 begin 293 305 if SaveDialog1.Execute then begin 294 306 Project.SaveToFile(SaveDialog1.FileName); 307 CodeForm.Save; 295 308 Project.Save; 296 309 end; … … 299 312 procedure TMainForm.AProjectSaveExecute(Sender: TObject); 300 313 begin 314 CodeForm.Save; 301 315 Project.SaveToFile(Project.GetDir(True) + Project.Name + '.tppr'); 302 316 end; -
trunk/IDE/Forms/UMessagesForm.lfm
r2 r24 26 26 Width = 500 27 27 end> 28 ItemIndex = -129 28 OwnerData = True 30 29 ReadOnly = True -
trunk/IDE/Forms/UMessagesForm.pas
r2 r24 47 47 procedure TMessagesForm.ListView1Click(Sender: TObject); 48 48 begin 49 ListView1SelectItem(Self, ListView1.Selected, ListView1.Selected.Selected); 49 if Assigned(ListView1.Selected) then 50 ListView1SelectItem(Self, ListView1.Selected, ListView1.Selected.Selected); 50 51 end; 51 52 -
trunk/IDE/Forms/UProjectManager.pas
r23 r24 77 77 NewNode.Expand(True); 78 78 EndUpdate; 79 TreeViewProject.TopItem.Items[0].Selected := True; 79 if Assigned(TreeViewProject.TopItem) and 80 (TreeViewProject.TopItem.Count > 0) then 81 TreeViewProject.TopItem.Items[0].Selected := True 82 else CodeForm.ProjectFile := nil; 80 83 end; 81 84 end; -
trunk/IDE/Transpascal.lpi
r23 r24 53 53 </Item5> 54 54 </RequiredPackages> 55 <Units Count=" 65">55 <Units Count="74"> 56 56 <Unit0> 57 57 <Filename Value="Transpascal.lpr"/> … … 59 59 <UnitName Value="Transpascal"/> 60 60 <WindowIndex Value="0"/> 61 <TopLine Value=" 1"/>62 <CursorPos X=" 17" Y="3"/>61 <TopLine Value="8"/> 62 <CursorPos X="36" Y="20"/> 63 63 <UsageCount Value="215"/> 64 64 <DefaultSyntaxHighlighter Value="Delphi"/> … … 73 73 <EditorIndex Value="0"/> 74 74 <WindowIndex Value="0"/> 75 <TopLine Value=" 284"/>76 <CursorPos X=" 1" Y="301"/>75 <TopLine Value="1"/> 76 <CursorPos X="49" Y="9"/> 77 77 <UsageCount Value="215"/> 78 78 <Loaded Value="True"/> … … 96 96 <TopLine Value="745"/> 97 97 <CursorPos X="46" Y="759"/> 98 <UsageCount Value="11 7"/>98 <UsageCount Value="116"/> 99 99 <DefaultSyntaxHighlighter Value="Delphi"/> 100 100 </Unit3> … … 105 105 <TopLine Value="1"/> 106 106 <CursorPos X="40" Y="11"/> 107 <UsageCount Value="11 7"/>107 <UsageCount Value="116"/> 108 108 <DefaultSyntaxHighlighter Value="Delphi"/> 109 109 </Unit4> … … 114 114 <TopLine Value="187"/> 115 115 <CursorPos X="34" Y="201"/> 116 <UsageCount Value="11 7"/>116 <UsageCount Value="116"/> 117 117 </Unit5> 118 118 <Unit6> … … 122 122 <TopLine Value="1"/> 123 123 <CursorPos X="1" Y="14"/> 124 <UsageCount Value="11 7"/>124 <UsageCount Value="116"/> 125 125 </Unit6> 126 126 <Unit7> … … 130 130 <TopLine Value="124"/> 131 131 <CursorPos X="42" Y="136"/> 132 <UsageCount Value="11 7"/>132 <UsageCount Value="116"/> 133 133 </Unit7> 134 134 <Unit8> … … 138 138 <TopLine Value="442"/> 139 139 <CursorPos X="47" Y="455"/> 140 <UsageCount Value="11 7"/>140 <UsageCount Value="116"/> 141 141 </Unit8> 142 142 <Unit9> … … 146 146 <TopLine Value="78"/> 147 147 <CursorPos X="27" Y="86"/> 148 <UsageCount Value=" 9"/>148 <UsageCount Value="8"/> 149 149 </Unit9> 150 150 <Unit10> … … 153 153 <TopLine Value="61"/> 154 154 <CursorPos X="7" Y="68"/> 155 <UsageCount Value="1 9"/>155 <UsageCount Value="18"/> 156 156 </Unit10> 157 157 <Unit11> … … 160 160 <TopLine Value="139"/> 161 161 <CursorPos X="16" Y="146"/> 162 <UsageCount Value="1 9"/>162 <UsageCount Value="18"/> 163 163 </Unit11> 164 164 <Unit12> … … 168 168 <TopLine Value="69"/> 169 169 <CursorPos X="1" Y="82"/> 170 <UsageCount Value="7 9"/>170 <UsageCount Value="78"/> 171 171 </Unit12> 172 172 <Unit13> … … 176 176 <TopLine Value="320"/> 177 177 <CursorPos X="1" Y="327"/> 178 <UsageCount Value="3 3"/>178 <UsageCount Value="32"/> 179 179 </Unit13> 180 180 <Unit14> … … 182 182 <IsPartOfProject Value="True"/> 183 183 <UnitName Value="UProject"/> 184 <IsVisibleTab Value="True"/> 185 <EditorIndex Value="1"/> 186 <WindowIndex Value="0"/> 187 <TopLine Value="164"/> 188 <CursorPos X="21" Y="175"/> 184 <EditorIndex Value="6"/> 185 <WindowIndex Value="0"/> 186 <TopLine Value="7"/> 187 <CursorPos X="30" Y="25"/> 189 188 <UsageCount Value="223"/> 190 189 <Loaded Value="True"/> … … 197 196 <TopLine Value="70"/> 198 197 <CursorPos X="53" Y="92"/> 199 <UsageCount Value="9 7"/>198 <UsageCount Value="96"/> 200 199 </Unit15> 201 200 <Unit16> … … 205 204 <TopLine Value="3"/> 206 205 <CursorPos X="32" Y="17"/> 207 <UsageCount Value="9 8"/>206 <UsageCount Value="97"/> 208 207 </Unit16> 209 208 <Unit17> … … 213 212 <TopLine Value="45"/> 214 213 <CursorPos X="14" Y="58"/> 215 <UsageCount Value="9 7"/>214 <UsageCount Value="96"/> 216 215 </Unit17> 217 216 <Unit18> … … 221 220 <ResourceBaseClass Value="Form"/> 222 221 <UnitName Value="UProjectManager"/> 223 <EditorIndex Value="1 1"/>224 <WindowIndex Value="0"/> 225 <TopLine Value=" 28"/>226 <CursorPos X=" 45" Y="40"/>222 <EditorIndex Value="18"/> 223 <WindowIndex Value="0"/> 224 <TopLine Value="68"/> 225 <CursorPos X="39" Y="82"/> 227 226 <UsageCount Value="207"/> 228 227 <Loaded Value="True"/> … … 236 235 <ResourceBaseClass Value="Form"/> 237 236 <UnitName Value="UCodeForm"/> 238 <EditorIndex Value=" 2"/>239 <WindowIndex Value="0"/> 240 <TopLine Value=" 19"/>241 <CursorPos X=" 1" Y="40"/>237 <EditorIndex Value="7"/> 238 <WindowIndex Value="0"/> 239 <TopLine Value="36"/> 240 <CursorPos X="52" Y="50"/> 242 241 <UsageCount Value="207"/> 243 242 <Loaded Value="True"/> … … 251 250 <ResourceBaseClass Value="Form"/> 252 251 <UnitName Value="UMessagesForm"/> 253 <EditorIndex Value=" 3"/>254 <WindowIndex Value="0"/> 255 <TopLine Value=" 51"/>256 <CursorPos X=" 64" Y="66"/>252 <EditorIndex Value="10"/> 253 <WindowIndex Value="0"/> 254 <TopLine Value="47"/> 255 <CursorPos X="5" Y="54"/> 257 256 <UsageCount Value="207"/> 258 257 <Loaded Value="True"/> 258 <LoadedDesigner Value="True"/> 259 259 <DefaultSyntaxHighlighter Value="Delphi"/> 260 260 </Unit20> … … 290 290 <TopLine Value="141"/> 291 291 <CursorPos X="93" Y="154"/> 292 <UsageCount Value="7 5"/>292 <UsageCount Value="74"/> 293 293 </Unit23> 294 294 <Unit24> … … 307 307 <UnitName Value="ULastOpenedList"/> 308 308 <WindowIndex Value="0"/> 309 <TopLine Value="1 "/>310 <CursorPos X=" 48" Y="11"/>309 <TopLine Value="11"/> 310 <CursorPos X="22" Y="24"/> 311 311 <UsageCount Value="200"/> 312 312 <DefaultSyntaxHighlighter Value="Delphi"/> … … 316 316 <IsPartOfProject Value="True"/> 317 317 <UnitName Value="UApplicationInfo"/> 318 <WindowIndex Value="0"/> 319 <TopLine Value="35"/> 320 <CursorPos X="19" Y="58"/> 318 <EditorIndex Value="5"/> 319 <WindowIndex Value="0"/> 320 <TopLine Value="43"/> 321 <CursorPos X="27" Y="52"/> 321 322 <UsageCount Value="200"/> 323 <Loaded Value="True"/> 322 324 <DefaultSyntaxHighlighter Value="Delphi"/> 323 325 </Unit26> … … 328 330 <TopLine Value="268"/> 329 331 <CursorPos X="39" Y="283"/> 330 <UsageCount Value="10 8"/>332 <UsageCount Value="107"/> 331 333 </Unit27> 332 334 <Unit28> … … 336 338 <TopLine Value="143"/> 337 339 <CursorPos X="68" Y="156"/> 338 <UsageCount Value="7 2"/>340 <UsageCount Value="71"/> 339 341 </Unit28> 340 342 <Unit29> … … 344 346 <TopLine Value="309"/> 345 347 <CursorPos X="64" Y="322"/> 346 <UsageCount Value="10 5"/>348 <UsageCount Value="104"/> 347 349 </Unit29> 348 350 <Unit30> … … 352 354 <TopLine Value="266"/> 353 355 <CursorPos X="32" Y="279"/> 354 <UsageCount Value="10 5"/>356 <UsageCount Value="104"/> 355 357 </Unit30> 356 358 <Unit31> … … 360 362 <TopLine Value="15"/> 361 363 <CursorPos X="1" Y="28"/> 362 <UsageCount Value="2 2"/>364 <UsageCount Value="21"/> 363 365 </Unit31> 364 366 <Unit32> … … 377 379 <TopLine Value="365"/> 378 380 <CursorPos X="5" Y="370"/> 379 <UsageCount Value=" 2"/>381 <UsageCount Value="1"/> 380 382 </Unit33> 381 383 <Unit34> … … 385 387 <TopLine Value="26"/> 386 388 <CursorPos X="14" Y="39"/> 387 <UsageCount Value="10 2"/>389 <UsageCount Value="101"/> 388 390 </Unit34> 389 391 <Unit35> … … 402 404 <TopLine Value="1"/> 403 405 <CursorPos X="36" Y="55"/> 404 <UsageCount Value="1 5"/>406 <UsageCount Value="14"/> 405 407 <DefaultSyntaxHighlighter Value="Delphi"/> 406 408 </Unit36> … … 410 412 <TopLine Value="1"/> 411 413 <CursorPos X="3" Y="21"/> 412 <UsageCount Value="1 5"/>414 <UsageCount Value="14"/> 413 415 <DefaultSyntaxHighlighter Value="Delphi"/> 414 416 </Unit37> … … 418 420 <TopLine Value="1377"/> 419 421 <CursorPos X="32" Y="1396"/> 420 <UsageCount Value="1 5"/>422 <UsageCount Value="14"/> 421 423 <DefaultSyntaxHighlighter Value="Delphi"/> 422 424 </Unit38> … … 426 428 <TopLine Value="27"/> 427 429 <CursorPos X="84" Y="48"/> 428 <UsageCount Value=" 9"/>430 <UsageCount Value="8"/> 429 431 </Unit39> 430 432 <Unit40> … … 433 435 <TopLine Value="100"/> 434 436 <CursorPos X="43" Y="102"/> 435 <UsageCount Value=" 9"/>437 <UsageCount Value="8"/> 436 438 </Unit40> 437 439 <Unit41> … … 441 443 <TopLine Value="1"/> 442 444 <CursorPos X="44" Y="6"/> 443 <UsageCount Value="1 3"/>445 <UsageCount Value="12"/> 444 446 </Unit41> 445 447 <Unit42> … … 449 451 <TopLine Value="22"/> 450 452 <CursorPos X="2" Y="35"/> 451 <UsageCount Value="1 3"/>453 <UsageCount Value="12"/> 452 454 </Unit42> 453 455 <Unit43> 454 456 <Filename Value="E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/> 455 <EditorIndex Value="1 2"/>457 <EditorIndex Value="16"/> 456 458 <WindowIndex Value="0"/> 457 459 <TopLine Value="71"/> 458 460 <CursorPos X="1" Y="85"/> 459 <UsageCount Value="8 0"/>461 <UsageCount Value="82"/> 460 462 <Loaded Value="True"/> 461 463 </Unit43> … … 465 467 <TopLine Value="107"/> 466 468 <CursorPos X="10" Y="120"/> 467 <UsageCount Value="7 3"/>469 <UsageCount Value="72"/> 468 470 </Unit44> 469 471 <Unit45> … … 473 475 <TopLine Value="1"/> 474 476 <CursorPos X="1" Y="12"/> 475 <UsageCount Value="7 2"/>477 <UsageCount Value="71"/> 476 478 </Unit45> 477 479 <Unit46> 478 480 <Filename Value="..\Compiler\UCompiler.pas"/> 479 481 <UnitName Value="UCompiler"/> 480 <EditorIndex Value=" 4"/>482 <EditorIndex Value="11"/> 481 483 <WindowIndex Value="0"/> 482 484 <TopLine Value="60"/> 483 485 <CursorPos X="45" Y="68"/> 484 <UsageCount Value=" 38"/>486 <UsageCount Value="40"/> 485 487 <Loaded Value="True"/> 486 488 </Unit46> … … 491 493 <TopLine Value="58"/> 492 494 <CursorPos X="1" Y="79"/> 493 <UsageCount Value="3 1"/>495 <UsageCount Value="30"/> 494 496 </Unit47> 495 497 <Unit48> 496 498 <Filename Value="..\Compiler\Analyze\UAnalyzer.pas"/> 497 499 <UnitName Value="UAnalyzer"/> 498 <EditorIndex Value=" 5"/>499 <WindowIndex Value="0"/> 500 <TopLine Value=" 66"/>501 <CursorPos X=" 37" Y="79"/>502 <UsageCount Value="3 7"/>500 <EditorIndex Value="12"/> 501 <WindowIndex Value="0"/> 502 <TopLine Value="36"/> 503 <CursorPos X="5" Y="49"/> 504 <UsageCount Value="39"/> 503 505 <Loaded Value="True"/> 504 506 </Unit48> … … 506 508 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 507 509 <UnitName Value="UAnalyzerPascal"/> 508 <EditorIndex Value="1 0"/>509 <WindowIndex Value="0"/> 510 <TopLine Value=" 836"/>511 <CursorPos X="1" Y=" 849"/>512 <UsageCount Value="3 7"/>510 <EditorIndex Value="17"/> 511 <WindowIndex Value="0"/> 512 <TopLine Value="1239"/> 513 <CursorPos X="1" Y="1255"/> 514 <UsageCount Value="39"/> 513 515 <Loaded Value="True"/> 514 516 </Unit49> … … 516 518 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 517 519 <UnitName Value="UProducerPascal"/> 518 <EditorIndex Value=" 8"/>519 <WindowIndex Value="0"/> 520 <TopLine Value="1 48"/>520 <EditorIndex Value="13"/> 521 <WindowIndex Value="0"/> 522 <TopLine Value="164"/> 521 523 <CursorPos X="52" Y="171"/> 522 <UsageCount Value="3 7"/>524 <UsageCount Value="39"/> 523 525 <Loaded Value="True"/> 524 526 </Unit50> … … 529 531 <TopLine Value="10"/> 530 532 <CursorPos X="40" Y="23"/> 531 <UsageCount Value=" 30"/>533 <UsageCount Value="29"/> 532 534 </Unit51> 533 535 <Unit52> … … 537 539 <TopLine Value="107"/> 538 540 <CursorPos X="22" Y="110"/> 539 <UsageCount Value=" 5"/>541 <UsageCount Value="4"/> 540 542 </Unit52> 541 543 <Unit53> … … 545 547 <TopLine Value="16"/> 546 548 <CursorPos X="33" Y="26"/> 547 <UsageCount Value="1 2"/>549 <UsageCount Value="11"/> 548 550 </Unit53> 549 551 <Unit54> 550 552 <Filename Value="..\Compiler\USourceCode.pas"/> 551 553 <UnitName Value="USourceCode"/> 552 <EditorIndex Value="9"/> 553 <WindowIndex Value="0"/> 554 <TopLine Value="727"/> 555 <CursorPos X="1" Y="740"/> 556 <UsageCount Value="37"/> 554 <IsVisibleTab Value="True"/> 555 <EditorIndex Value="14"/> 556 <WindowIndex Value="0"/> 557 <TopLine Value="1090"/> 558 <CursorPos X="30" Y="1103"/> 559 <UsageCount Value="39"/> 557 560 <Loaded Value="True"/> 558 561 </Unit54> … … 563 566 <TopLine Value="1"/> 564 567 <CursorPos X="55" Y="19"/> 565 <UsageCount Value=" 5"/>568 <UsageCount Value="4"/> 566 569 </Unit55> 567 570 <Unit56> … … 571 574 <TopLine Value="1"/> 572 575 <CursorPos X="26" Y="5"/> 573 <UsageCount Value=" 5"/>576 <UsageCount Value="4"/> 574 577 </Unit56> 575 578 <Unit57> … … 579 582 <TopLine Value="1"/> 580 583 <CursorPos X="37" Y="12"/> 581 <UsageCount Value="3 1"/>584 <UsageCount Value="30"/> 582 585 </Unit57> 583 586 <Unit58> … … 587 590 <TopLine Value="12"/> 588 591 <CursorPos X="38" Y="26"/> 589 <UsageCount Value="3 1"/>592 <UsageCount Value="30"/> 590 593 </Unit58> 591 594 <Unit59> 592 595 <Filename Value="E:\Programy\Lazarus\lcl\stdctrls.pp"/> 593 596 <UnitName Value="StdCtrls"/> 594 <WindowIndex Value="0"/> 595 <TopLine Value="438"/> 596 <CursorPos X="3" Y="406"/> 597 <UsageCount Value="5"/> 597 <EditorIndex Value="4"/> 598 <WindowIndex Value="0"/> 599 <TopLine Value="250"/> 600 <CursorPos X="15" Y="368"/> 601 <UsageCount Value="10"/> 602 <Loaded Value="True"/> 598 603 </Unit59> 599 604 <Unit60> … … 602 607 <TopLine Value="628"/> 603 608 <CursorPos X="1" Y="649"/> 604 <UsageCount Value="3 1"/>609 <UsageCount Value="30"/> 605 610 </Unit60> 606 611 <Unit61> 607 612 <Filename Value="E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericObjectList.inc"/> 608 <WindowIndex Value="0"/> 609 <TopLine Value="1"/> 610 <CursorPos X="24" Y="4"/> 613 <EditorIndex Value="15"/> 614 <WindowIndex Value="0"/> 615 <TopLine Value="65"/> 616 <CursorPos X="1" Y="78"/> 611 617 <UsageCount Value="12"/> 618 <Loaded Value="True"/> 612 619 </Unit61> 613 620 <Unit62> … … 617 624 <TopLine Value="1"/> 618 625 <CursorPos X="1" Y="1"/> 619 <UsageCount Value="1 1"/>626 <UsageCount Value="10"/> 620 627 </Unit62> 621 628 <Unit63> 622 629 <Filename Value="E:\Programy\Lazarus\fpc\2.4.3\source\rtl\objpas\classes\classesh.inc"/> 623 <EditorIndex Value=" 6"/>624 <WindowIndex Value="0"/> 625 <TopLine Value=" 625"/>626 <CursorPos X=" 36" Y="638"/>627 <UsageCount Value="1 4"/>630 <EditorIndex Value="2"/> 631 <WindowIndex Value="0"/> 632 <TopLine Value="284"/> 633 <CursorPos X="15" Y="297"/> 634 <UsageCount Value="16"/> 628 635 <Loaded Value="True"/> 629 636 </Unit63> 630 637 <Unit64> 631 638 <Filename Value="E:\Programy\Lazarus\fpc\2.4.3\source\rtl\objpas\classes\stringl.inc"/> 632 <EditorIndex Value="7"/>633 639 <WindowIndex Value="0"/> 634 640 <TopLine Value="428"/> 635 641 <CursorPos X="3" Y="441"/> 636 <UsageCount Value="14"/> 637 <Loaded Value="True"/> 642 <UsageCount Value="15"/> 638 643 </Unit64> 644 <Unit65> 645 <Filename Value="E:\Programy\Lazarus\components\synedit\synedit.pp"/> 646 <UnitName Value="SynEdit"/> 647 <EditorIndex Value="8"/> 648 <WindowIndex Value="0"/> 649 <TopLine Value="4144"/> 650 <CursorPos X="21" Y="4146"/> 651 <UsageCount Value="12"/> 652 <Loaded Value="True"/> 653 </Unit65> 654 <Unit66> 655 <Filename Value="E:\Programy\Lazarus\components\synedit\syneditmiscclasses.pp"/> 656 <UnitName Value="SynEditMiscClasses"/> 657 <EditorIndex Value="9"/> 658 <WindowIndex Value="0"/> 659 <TopLine Value="93"/> 660 <CursorPos X="43" Y="112"/> 661 <UsageCount Value="12"/> 662 <Loaded Value="True"/> 663 </Unit66> 664 <Unit67> 665 <Filename Value="E:\Programy\Lazarus\lcl\include\treeview.inc"/> 666 <WindowIndex Value="0"/> 667 <TopLine Value="60"/> 668 <CursorPos X="1" Y="73"/> 669 <UsageCount Value="11"/> 670 </Unit67> 671 <Unit68> 672 <Filename Value="E:\Programy\Lazarus\lcl\comctrls.pp"/> 673 <UnitName Value="ComCtrls"/> 674 <WindowIndex Value="0"/> 675 <TopLine Value="2650"/> 676 <CursorPos X="27" Y="2663"/> 677 <UsageCount Value="11"/> 678 </Unit68> 679 <Unit69> 680 <Filename Value="E:\Programy\Lazarus\lcl\include\listitem.inc"/> 681 <WindowIndex Value="0"/> 682 <TopLine Value="529"/> 683 <CursorPos X="27" Y="546"/> 684 <UsageCount Value="11"/> 685 </Unit69> 686 <Unit70> 687 <Filename Value="E:\Programy\Lazarus\fpc\2.4.3\source\rtl\objpas\classes\persist.inc"/> 688 <WindowIndex Value="0"/> 689 <TopLine Value="18"/> 690 <CursorPos X="34" Y="27"/> 691 <UsageCount Value="10"/> 692 </Unit70> 693 <Unit71> 694 <Filename Value="E:\Programy\Lazarus\fpc\2.4.3\source\rtl\objpas\rtlconst.inc"/> 695 <WindowIndex Value="0"/> 696 <TopLine Value="21"/> 697 <CursorPos X="3" Y="34"/> 698 <UsageCount Value="10"/> 699 </Unit71> 700 <Unit72> 701 <Filename Value="E:\Programy\Lazarus\fpc\2.4.3\source\packages\fcl-base\src\contnrs.pp"/> 702 <UnitName Value="contnrs"/> 703 <EditorIndex Value="1"/> 704 <WindowIndex Value="0"/> 705 <TopLine Value="59"/> 706 <CursorPos X="26" Y="72"/> 707 <UsageCount Value="10"/> 708 <Loaded Value="True"/> 709 </Unit72> 710 <Unit73> 711 <Filename Value="E:\Programy\Lazarus\fpc\2.4.3\source\rtl\objpas\classes\lists.inc"/> 712 <EditorIndex Value="3"/> 713 <WindowIndex Value="0"/> 714 <TopLine Value="841"/> 715 <CursorPos X="3" Y="843"/> 716 <UsageCount Value="10"/> 717 <Loaded Value="True"/> 718 </Unit73> 639 719 </Units> 640 <JumpHistory Count=" 30" HistoryIndex="29">720 <JumpHistory Count="29" HistoryIndex="28"> 641 721 <Position1> 642 <Filename Value=" UProject.pas"/>643 <Caret Line="1 31" Column="1" TopLine="113"/>722 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 723 <Caret Line="1252" Column="1" TopLine="1239"/> 644 724 </Position1> 645 725 <Position2> 646 <Filename Value=" UProject.pas"/>647 <Caret Line="1 32" Column="1" TopLine="113"/>726 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 727 <Caret Line="1253" Column="1" TopLine="1239"/> 648 728 </Position2> 649 729 <Position3> 650 <Filename Value=" UProject.pas"/>651 <Caret Line="1 34" Column="1" TopLine="113"/>730 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 731 <Caret Line="1254" Column="1" TopLine="1239"/> 652 732 </Position3> 653 733 <Position4> 654 <Filename Value=" UProject.pas"/>655 <Caret Line="1 35" Column="1" TopLine="114"/>734 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 735 <Caret Line="1255" Column="1" TopLine="1239"/> 656 736 </Position4> 657 737 <Position5> 738 <Filename Value="..\Compiler\USourceCode.pas"/> 739 <Caret Line="1099" Column="1" TopLine="1094"/> 740 </Position5> 741 <Position6> 742 <Filename Value="..\Compiler\USourceCode.pas"/> 743 <Caret Line="1100" Column="1" TopLine="1094"/> 744 </Position6> 745 <Position7> 746 <Filename Value="..\Compiler\USourceCode.pas"/> 747 <Caret Line="1101" Column="1" TopLine="1094"/> 748 </Position7> 749 <Position8> 750 <Filename Value="..\Compiler\USourceCode.pas"/> 751 <Caret Line="1102" Column="1" TopLine="1094"/> 752 </Position8> 753 <Position9> 754 <Filename Value="..\Compiler\USourceCode.pas"/> 755 <Caret Line="1103" Column="1" TopLine="1094"/> 756 </Position9> 757 <Position10> 758 <Filename Value="..\Compiler\USourceCode.pas"/> 759 <Caret Line="1104" Column="1" TopLine="1094"/> 760 </Position10> 761 <Position11> 658 762 <Filename Value="E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/> 659 763 <Caret Line="84" Column="1" TopLine="71"/> 660 </Position 5>661 <Position 6>764 </Position11> 765 <Position12> 662 766 <Filename Value="E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/> 663 767 <Caret Line="85" Column="1" TopLine="71"/> 664 </Position6>665 <Position7>666 <Filename Value="UProject.pas"/>667 <Caret Line="174" Column="1" TopLine="161"/>668 </Position7>669 <Position8>670 <Filename Value="UProject.pas"/>671 <Caret Line="201" Column="1" TopLine="188"/>672 </Position8>673 <Position9>674 <Filename Value="UProject.pas"/>675 <Caret Line="175" Column="1" TopLine="162"/>676 </Position9>677 <Position10>678 <Filename Value="UProject.pas"/>679 <Caret Line="191" Column="1" TopLine="178"/>680 </Position10>681 <Position11>682 <Filename Value="UProject.pas"/>683 <Caret Line="192" Column="1" TopLine="178"/>684 </Position11>685 <Position12>686 <Filename Value="UProject.pas"/>687 <Caret Line="215" Column="1" TopLine="202"/>688 768 </Position12> 689 769 <Position13> 690 <Filename Value=" UProject.pas"/>691 <Caret Line=" 216" Column="1" TopLine="202"/>770 <Filename Value="..\Compiler\USourceCode.pas"/> 771 <Caret Line="1099" Column="1" TopLine="1094"/> 692 772 </Position13> 693 773 <Position14> 694 <Filename Value=" UProject.pas"/>695 <Caret Line="1 93" Column="1" TopLine="180"/>774 <Filename Value="..\Compiler\USourceCode.pas"/> 775 <Caret Line="1100" Column="1" TopLine="1094"/> 696 776 </Position14> 697 777 <Position15> 698 <Filename Value=" UProject.pas"/>699 <Caret Line=" 301" Column="1" TopLine="288"/>778 <Filename Value="..\Compiler\USourceCode.pas"/> 779 <Caret Line="1101" Column="1" TopLine="1094"/> 700 780 </Position15> 701 781 <Position16> 702 <Filename Value=" UProject.pas"/>703 <Caret Line=" 302" Column="1" TopLine="288"/>782 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 783 <Caret Line="1252" Column="1" TopLine="1239"/> 704 784 </Position16> 705 785 <Position17> 706 <Filename Value=" UProject.pas"/>707 <Caret Line="1 94" Column="1" TopLine="181"/>786 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 787 <Caret Line="1059" Column="1" TopLine="1046"/> 708 788 </Position17> 709 789 <Position18> 710 <Filename Value=" UProject.pas"/>711 <Caret Line="1 76" Column="1" TopLine="163"/>790 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 791 <Caret Line="1252" Column="1" TopLine="1239"/> 712 792 </Position18> 713 793 <Position19> 714 <Filename Value=" UProject.pas"/>715 <Caret Line="1 35" Column="1" TopLine="122"/>794 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 795 <Caret Line="1253" Column="1" TopLine="1239"/> 716 796 </Position19> 717 797 <Position20> 718 <Filename Value=" UProject.pas"/>719 <Caret Line="1 32" Column="24" TopLine="122"/>798 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 799 <Caret Line="1254" Column="1" TopLine="1239"/> 720 800 </Position20> 721 801 <Position21> 722 <Filename Value=" UProject.pas"/>723 <Caret Line=" 283" Column="1" TopLine="270"/>802 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 803 <Caret Line="1255" Column="1" TopLine="1239"/> 724 804 </Position21> 725 805 <Position22> 726 <Filename Value=" UProject.pas"/>727 <Caret Line=" 284" Column="1" TopLine="270"/>806 <Filename Value="..\Compiler\USourceCode.pas"/> 807 <Caret Line="1099" Column="1" TopLine="1094"/> 728 808 </Position22> 729 809 <Position23> 730 <Filename Value=" UProject.pas"/>731 <Caret Line=" 285" Column="1" TopLine="270"/>810 <Filename Value="..\Compiler\USourceCode.pas"/> 811 <Caret Line="1100" Column="1" TopLine="1094"/> 732 812 </Position23> 733 813 <Position24> 734 <Filename Value=" UProject.pas"/>735 <Caret Line=" 286" Column="1" TopLine="270"/>814 <Filename Value="..\Compiler\USourceCode.pas"/> 815 <Caret Line="1101" Column="1" TopLine="1094"/> 736 816 </Position24> 737 817 <Position25> 738 <Filename Value=" UProject.pas"/>739 <Caret Line=" 287" Column="1" TopLine="270"/>818 <Filename Value="..\Compiler\USourceCode.pas"/> 819 <Caret Line="1102" Column="1" TopLine="1094"/> 740 820 </Position25> 741 821 <Position26> 742 <Filename Value=" UProject.pas"/>743 <Caret Line=" 289" Column="1" TopLine="270"/>822 <Filename Value="..\Compiler\USourceCode.pas"/> 823 <Caret Line="1103" Column="1" TopLine="1094"/> 744 824 </Position26> 745 825 <Position27> 746 <Filename Value=" UProject.pas"/>747 <Caret Line=" 291" Column="26" TopLine="270"/>826 <Filename Value="E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/> 827 <Caret Line="84" Column="1" TopLine="71"/> 748 828 </Position27> 749 829 <Position28> 750 <Filename Value=" UProject.pas"/>751 <Caret Line=" 133" Column="28" TopLine="122"/>830 <Filename Value="E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/> 831 <Caret Line="85" Column="1" TopLine="71"/> 752 832 </Position28> 753 833 <Position29> 754 <Filename Value=" UProject.pas"/>755 <Caret Line="1 36" Column="35" TopLine="122"/>834 <Filename Value="..\Compiler\USourceCode.pas"/> 835 <Caret Line="1103" Column="30" TopLine="1094"/> 756 836 </Position29> 757 <Position30>758 <Filename Value="UProject.pas"/>759 <Caret Line="179" Column="55" TopLine="173"/>760 </Position30>761 837 </JumpHistory> 762 838 </ProjectOptions> … … 797 873 <Other> 798 874 <CompilerMessages> 875 <IgnoredMessages idx5023="True" idx5024="True" idx5025="True" idx5026="True" idx5027="True" idx5028="True" idx5029="True" idx5030="True" idx5031="True"/> 799 876 <UseMsgFile Value="True"/> 800 877 </CompilerMessages> … … 803 880 </CompilerOptions> 804 881 <Debugging> 882 <BreakPoints Count="2"> 883 <Item1> 884 <Source Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 885 <Line Value="1252"/> 886 </Item1> 887 <Item2> 888 <Source Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 889 <Line Value="1059"/> 890 </Item2> 891 </BreakPoints> 805 892 <Exceptions Count="3"> 806 893 <Item1> -
trunk/IDE/Transpascal.lpr
r23 r24 18 18 HeapTraceLog = 'heaptrclog.trc'; 19 19 begin 20 Application.Title :='Transpascal IDE';20 Application.Title := 'Transpascal IDE'; 21 21 // Heap trace 22 22 DeleteFile(ExtractFilePath(ParamStr(0)) + HeapTraceLog); -
trunk/IDE/UApplicationInfo.pas
r10 r24 50 50 51 51 with ApplicationInfo do begin 52 Name := 'Transpascal ';52 Name := 'Transpascal IDE'; 53 53 Identification := 1; 54 54 ReleaseDate := '22.10.2010'; -
trunk/IDE/UProject.pas
r23 r24 14 14 15 15 TProjectNode = class 16 private 17 FModified: Boolean; 18 procedure SetModified(const AValue: Boolean); 19 public 16 20 Parent: TProjectNode; 17 21 Name: string; 18 22 ProducedFileName: string; 19 Modified: Boolean;20 23 procedure SaveToXMLNode(Node: TDOMNode); virtual; 21 24 procedure LoadFromXMLNode(Node: TDOMNode); virtual; … … 23 26 procedure Save; virtual; 24 27 function GetDir(IncludeRoot: Boolean = False): string; virtual; 28 property Modified: Boolean read FModified write SetModified; 25 29 end; 26 30 … … 197 201 procedure TProjectFile.Save; 198 202 begin 203 if Modified then 204 Source.SaveToFile(Parent.GetDir(True) + Name); 199 205 inherited Save; 200 Source.SaveToFile(Parent.GetDir(True) + Name);201 206 end; 202 207 203 208 { TProjectNode } 209 210 procedure TProjectNode.SetModified(const AValue: Boolean); 211 begin 212 if FModified=AValue then exit; 213 FModified:=AValue; 214 if Assigned(Parent) then Parent.Modified := AValue; 215 end; 204 216 205 217 procedure TProjectNode.SaveToXMLNode(Node: TDOMNode);
Note:
See TracChangeset
for help on using the changeset viewer.