任何人都可以告訴我,爲什麼我不斷收到以下錯誤?Delphi 7 IDE堆棧溢出錯誤
背景:
該項目有320嵌入表單。
項目搜索路徑有205個文件夾,長度超過11,000個字符。
如果我只說出1個嵌入式窗體單元,那麼它編譯時不會出錯。
圖像#1 - 德爾福IDE
圖像#2 - 從DCC32.EXE
下面是我用我的嵌入單元表格
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.
你可以通過刪除任何形式來抑制問題? –
是的,它不關心我刪除了什麼形式。 – eyeClaxton
您可以嘗試使用PE編輯器來增加IDE或dcc32的堆棧大小。但先備份吧! Editbin應該這樣做。 –