IDE: fixed menu item 64bit

git-svn-id: trunk@27684 -
This commit is contained in:
mattias 2010-10-13 19:01:58 +00:00
parent 59710747e4
commit 78d480b9e1
4 changed files with 50 additions and 9 deletions

View File

@ -4490,6 +4490,7 @@ begin
Result := i - index > 0; Result := i - index > 0;
if Result then begin if Result then begin
Val(Copy(s, Index, i - Index), Num, err); Val(Copy(s, Index, i - Index), Num, err);
if err=0 then ;
index := i; index := i;
end; end;
end; end;

View File

@ -4449,13 +4449,13 @@ procedure TMainIDE.DoProjectOptionsBeforeRead(Sender: TObject);
var var
ActiveSrcEdit: TSourceEditor; ActiveSrcEdit: TSourceEditor;
ActiveUnitInfo: TUnitInfo; ActiveUnitInfo: TUnitInfo;
AProject: TProject;
begin begin
BeginCodeTool(ActiveSrcEdit, ActiveUnitInfo, []); BeginCodeTool(ActiveSrcEdit, ActiveUnitInfo, []);
with Sender as TProject do AProject:=TProject(Sender);
begin AProject.UpdateExecutableType;
UpdateExecutableType; AProject.CompilerOptions.UseAsDefault := False;
CompilerOptions.UseAsDefault := False; AProject.BuildModesBackup.Assign(AProject.BuildModes);
end;
end; end;
procedure TMainIDE.DoProjectOptionsAfterWrite(Sender: TObject; Restore: boolean procedure TMainIDE.DoProjectOptionsAfterWrite(Sender: TObject; Restore: boolean

View File

@ -217,11 +217,13 @@ begin
end; end;
procedure TMainIDEBase.mnuWindowSourceItemClick(Sender: TObject); procedure TMainIDEBase.mnuWindowSourceItemClick(Sender: TObject);
var page: longint; var
i: LongInt;
begin begin
if SourceEditorManager = nil then exit; if SourceEditorManager = nil then exit;
page := (sender as TIDEMenuCommand).tag; i:=(sender as TIDEMenuCommand).tag;
SourceEditorManager.ActiveEditor := TSourceEditor(PtrInt(page)); if (i<0) or (i>=SourceEditorManager.SourceEditorCount) then exit;
SourceEditorManager.ActiveEditor := SourceEditorManager.SourceEditors[i];
SourceEditorManager.ShowActiveWindowOnTop(True); SourceEditorManager.ShowActiveWindowOnTop(True);
end; end;
@ -1093,7 +1095,7 @@ begin
CurMenuItem.Caption := SourceEditorManager.SourceEditors[i].PageName; CurMenuItem.Caption := SourceEditorManager.SourceEditors[i].PageName;
CurMenuItem.MenuItem.Checked := SourceEditorManager.ActiveEditor = SourceEditorManager.SourceEditors[i] ; CurMenuItem.MenuItem.Checked := SourceEditorManager.ActiveEditor = SourceEditorManager.SourceEditors[i] ;
CurMenuItem.OnClick := @mnuWindowSourceItemClick; CurMenuItem.OnClick := @mnuWindowSourceItemClick;
CurMenuItem.Tag := Integer(Pointer(SourceEditorManager.SourceEditors[i])); CurMenuItem.Tag := i;
inc(ItemCount); inc(ItemCount);
end; end;
end; end;

View File

@ -692,6 +692,8 @@ type
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
destructor Destroy; override; destructor Destroy; override;
procedure Clear; procedure Clear;
function IsEqual(OtherModes: TProjectBuildModes): boolean;
procedure Assign(Source: TPersistent); override;
procedure Delete(Index: integer); procedure Delete(Index: integer);
function IndexOf(Identifier: string): integer; function IndexOf(Identifier: string): integer;
function Find(Identifier: string): TProjectBuildMode; function Find(Identifier: string): TProjectBuildMode;
@ -725,6 +727,7 @@ type
FActiveBuildMode: TProjectBuildMode; FActiveBuildMode: TProjectBuildMode;
FActiveWindowIndexAtStart: integer; FActiveWindowIndexAtStart: integer;
FBuildModes: TProjectBuildModes; FBuildModes: TProjectBuildModes;
FBuildModesBackup: TProjectBuildModes;
FEditorInfoList: TUnitEditorInfoList; FEditorInfoList: TUnitEditorInfoList;
FAutoCreateForms: boolean; FAutoCreateForms: boolean;
FEnableI18NForLFM: boolean; FEnableI18NForLFM: boolean;
@ -1011,6 +1014,7 @@ type
write SetAutoOpenDesignerFormsDisabled; write SetAutoOpenDesignerFormsDisabled;
property Bookmarks: TProjectBookmarkList read FBookmarks write FBookmarks; property Bookmarks: TProjectBookmarkList read FBookmarks write FBookmarks;
property BuildModes: TProjectBuildModes read FBuildModes write SetBuildModes; property BuildModes: TProjectBuildModes read FBuildModes write SetBuildModes;
property BuildModesBackup: TProjectBuildModes read FBuildModesBackup;
property SkipCheckLCLInterfaces: boolean read FSkipCheckLCLInterfaces property SkipCheckLCLInterfaces: boolean read FSkipCheckLCLInterfaces
write SetSkipCheckLCLInterfaces; write SetSkipCheckLCLInterfaces;
property CompilerOptions: TProjectCompilerOptions read FCompilerOptions; property CompilerOptions: TProjectCompilerOptions read FCompilerOptions;
@ -2528,9 +2532,13 @@ begin
FAutoCreateForms := true; FAutoCreateForms := true;
FEditorInfoList := TUnitEditorInfoList.Create(nil); FEditorInfoList := TUnitEditorInfoList.Create(nil);
FBookmarks := TProjectBookmarkList.Create; FBookmarks := TProjectBookmarkList.Create;
FBuildModes:=TProjectBuildModes.Create(nil); FBuildModes:=TProjectBuildModes.Create(nil);
FBuildModes.LazProject:=Self; FBuildModes.LazProject:=Self;
FBuildModesBackup:=TProjectBuildModes.Create(nil);
FBuildModesBackup.LazProject:=Self;
ActiveBuildMode:=FBuildModes.Add('Default'); ActiveBuildMode:=FBuildModes.Add('Default');
FDefineTemplates:=TProjectDefineTemplates.Create(Self); FDefineTemplates:=TProjectDefineTemplates.Create(Self);
FFlags:=DefaultProjectFlags; FFlags:=DefaultProjectFlags;
FJumpHistory:=TProjectJumpHistory.Create; FJumpHistory:=TProjectJumpHistory.Create;
@ -2561,6 +2569,7 @@ begin
FDestroying := True; FDestroying := True;
ActiveBuildMode:=nil; ActiveBuildMode:=nil;
Clear; Clear;
FreeAndNil(FBuildModesBackup);
FreeAndNil(FBuildModes); FreeAndNil(FBuildModes);
FreeAndNil(FEditorInfoList); FreeAndNil(FEditorInfoList);
FreeThenNil(FResources); FreeThenNil(FResources);
@ -6794,6 +6803,35 @@ begin
while Count>0 do Delete(Count-1); while Count>0 do Delete(Count-1);
end; end;
function TProjectBuildModes.IsEqual(OtherModes: TProjectBuildModes): boolean;
var
i: Integer;
begin
Result:=true;
if OtherModes.Count<>Count then exit;
for i:=0 to Count-1 do
if not Items[i].Equals(OtherModes[i]) then exit;
Result:=false;
end;
procedure TProjectBuildModes.Assign(Source: TPersistent);
var
OtherModes: TProjectBuildModes;
i: Integer;
CurMode: TProjectBuildMode;
begin
if Source is TProjectBuildModes then begin
OtherModes:=TProjectBuildModes(Source);
Clear;
for i:=0 to OtherModes.Count-1 do
begin
CurMode:=Add(OtherModes[i].Identifier);
CurMode.Assign(OtherModes[i]);
end;
end else
inherited Assign(Source);
end;
procedure TProjectBuildModes.Delete(Index: integer); procedure TProjectBuildModes.Delete(Index: integer);
var var
Item: TProjectBuildMode; Item: TProjectBuildMode;