Delphi 7 IDE Stack Overflow Error
Could anyone tell me, why I keep getting the following errors?
Background:
The project has 320 Embedded Forms.
The projects search path has 205 folders, at a length of just over 11,000 chars.
If I remark out just 1 of t开发者_Go百科he embedded form units, then it compiles without an error.
IMAGE #1 - From Delphi IDE
IMAGE #2 - From DCC32.EXE
Here is the unit I use for my embedded forms
unit EmbeddedForm;
interface
{$INCLUDE '..\INCLUDE\BUILD.INC'}
uses
Windows, Controls, Messages, Forms;
type
TEmbeddedForm = class(TForm)
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
procedure StopFlicker(var theMessage: TWMEraseBkgnd); message WM_ERASEBKGND;
protected
{ Protected declarations }
procedure CreateParams(var Params: TCreateParams); override;
public
{ Public declarations }
procedure InitializeForm(); virtual; abstract;
procedure FinalizeForm(); virtual; abstract;
end;
implementation
{$R *.DFM}
procedure TEmbeddedForm.StopFlicker(var theMessage: TWMEraseBkgnd);
begin
theMessage.Result := 1;
end;
procedure TEmbeddedForm.CreateParams(var Params: TCreateParams);
const
ParamStyle = WS_VISIBLE or WS_POPUP or WS_OVERLAPPED or WS_OVERLAPPEDWINDOW;
begin
inherited CreateParams(Params);
Params.ExStyle := (Params.ExStyle and (not WS_EX_WINDOWEDGE)
and (not WS_EX_STATICEDGE) and (not WS_EX_DLGMODALFRAME) and (not WS_EX_CLIENTEDGE));
Params.Style := (Params.Style and (not WS_CAPTION) and (not DS_MODALFRAME)
and (not WS_DLGFRAME) and (not WS_THICKFRAME));
Params.Style := Params.Style and not ParamStyle;
end;
procedure TEmbeddedForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := False;
end;
procedure TEmbeddedForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caNone;
end;
end.
You could try using a PE editor to increase the stack size of IDE or dcc32. But make backups first! Editbin should do the trick.
Try to change these values:
Project->Options->Linker->Memory sizes
Min stack size as hex value
Max stack size as hex value
精彩评论