powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ошибка pFIBScript.hpp: E2040 Declaration terminated incorrectly
8 сообщений из 8, страница 1 из 1
Ошибка pFIBScript.hpp: E2040 Declaration terminated incorrectly
    #40027659
liron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня.
Достался проект по наследству в RadStudio 2007, в котором используется FIBScript версия 1.8b2.
Скомпилировал FIBScript все файлы для работы в С++ , все отлично. Начинаю компилировать проект, в котором используется FibScript,
вылазит ошибка
Код: plaintext
"[BCC32 Error] pFIBScript.hpp(61): E2040 Declaration terminated incorrectly" 

на строчку:
выделенную красным
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
// CodeGear C++Builder
// Copyright (c) 1995, 2007 by CodeGear
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Pfibscript.pas' rev: 11.00

#ifndef PfibscriptHPP
#define PfibscriptHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <dstring.h>
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Pfibdatabase.hpp>	// Pascal unit
#include <Pfibdataset.hpp>	// Pascal unit
#include <Pfibquery.hpp>	// Pascal unit
#include <Fibquery.hpp>	// Pascal unit
#include <Pfibscript_util.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Pfibscript
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TpFIBParseKind { stmtDDL, stmtDML, stmtSET, stmtCONNECT, stmtDrop, stmtCREATE, stmtALTER, stmtINPUT, stmtUNK, stmtEMPTY, stmtTERM, stmtERR, stmtCOMMIT, stmtROLLBACK, stmtReconnect, stmtDESCRIBE };
#pragma option pop

typedef void __fastcall (__closure *TpFIBSQLParseError)(System::TObject* Sender, AnsiString Error, AnsiString SQLText, int LineIndex);

typedef void __fastcall (__closure *TpFIBSQLExecuteError)(System::TObject* Sender, AnsiString Error, AnsiString SQLText, int LineIndex, bool &Ignore);

typedef void __fastcall (__closure *TpFIBSQLParseStmt)(System::TObject* Sender, TpFIBParseKind AKind, AnsiString SQLText);

class DELPHICLASS TpFIBScript;
typedef void __fastcall (__closure *TpFIBScriptParamCheck)(TpFIBScript* Sender, bool &Pause);

class DELPHICLASS TpFIBSQLParser;
class PASCALIMPLEMENTATION TpFIBSQLParser : public Classes::TComponent
{
	typedef Classes::TComponent inherited;
	
private:
	TpFIBSQLParseError FOnError;
	TpFIBSQLParseStmt FOnParse;
	Classes::TStrings* FScript;
	Classes::TStrings* FInput;
	AnsiString FTerminator;
	bool FPaused;
	bool FFinished;
	void __fastcall SetScript(const Classes::TStrings* Value);
	void __fastcall SetPaused(const bool Value);
	AnsiString __fastcall StripQuote(const AnsiString Text);
	Classes::TStrings* FTokens;
	AnsiString FWork;
	int ScriptIndex;
	int LineIndex;
	int ImportIndex;
	bool InInput;
	int FEndLine;
	AnsiString __fastcall TokenizeNextLine();
	TpFIBParseKind __fastcall IsValidStatement(void);
	void __fastcall RemoveComment(void);
	bool __fastcall AppendNextLine(void);
	void __fastcall LoadInput(void);
	
protected:
	virtual void __fastcall DoOnParse(TpFIBParseKind AKind, AnsiString SQLText);
	virtual void __fastcall DoOnError(AnsiString Error, AnsiString SQLText);
	void __fastcall DoParser(void);
	
public:
	__fastcall virtual TpFIBSQLParser(Classes::TComponent* AOwner);
	__fastcall virtual ~TpFIBSQLParser(void);
	void __fastcall Parse(void);
	__property int EndLine = {read=FEndLine, nodefault};
	__property int CurrentLine = {read=LineIndex, nodefault};
	__property Classes::TStrings* CurrentTokens = {read=FTokens};
	
__published:
	__property bool Finished = {read=FFinished, nodefault};
	__property bool Paused = {read=FPaused, write=SetPaused, nodefault};
	__property Classes::TStrings* Script = {read=FScript, write=SetScript};
	__property AnsiString Terminator = {read=FTerminator, write=FTerminator};
	__property TpFIBSQLParseStmt OnParse = {read=FOnParse, write=FOnParse};
	__property TpFIBSQLParseError OnError = {read=FOnError, write=FOnError};
};


class DELPHICLASS TpFIBScriptStats;
class PASCALIMPLEMENTATION TpFIBScriptStats : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	__int64 FBuffers;
	__int64 FReadIdx;
	__int64 FWrites;
	__int64 FFetches;
	__int64 FSeqReads;
	__int64 FReads;
	__int64 FDeltaMem;
	__int64 FStartBuffers;
	__int64 FStartReadIdx;
	__int64 FStartWrites;
	__int64 FStartFetches;
	__int64 FStartSeqReads;
	__int64 FStartReads;
	__int64 FStartingMem;
	Pfibdatabase::TpFIBDatabase* FDatabase;
	void __fastcall SetDatabase(const Pfibdatabase::TpFIBDatabase* Value);
	__int64 __fastcall AddStringValues(Classes::TStrings* list);
	
public:
	void __fastcall Start(void);
	void __fastcall Clear(void);
	void __fastcall Stop(void);
	__property Pfibdatabase::TpFIBDatabase* Database = {read=FDatabase, write=SetDatabase};
	__property __int64 Buffers = {read=FBuffers};
	__property __int64 Reads = {read=FReads};
	__property __int64 Writes = {read=FWrites};
	__property __int64 SeqReads = {read=FSeqReads};
	__property __int64 Fetches = {read=FFetches};
	__property __int64 ReadIdx = {read=FReadIdx};
	__property __int64 DeltaMem = {read=FDeltaMem};
	__property __int64 StartingMem = {read=FStartingMem};
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TpFIBScriptStats(void) : System::TObject() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TpFIBScriptStats(void) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TpFIBScript : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
private:
	TpFIBSQLParser* FSQLParser;
	bool FAutoDDL;
	bool FStatsOn;
	Pfibdataset::TpFIBDataSet* FDataset;
	Pfibdatabase::TpFIBDatabase* FDatabase;
	TpFIBSQLParseError FOnError;
	TpFIBSQLParseStmt FOnParse;
	Pfibdatabase::TpFIBTransaction* FDDLTransaction;
	Pfibdatabase::TpFIBTransaction* FTransaction;
	AnsiString FTerminator;
	AnsiString FIfDef;
	Pfibquery::TpFIBQuery* FDDLQuery;
	Pfibquery::TpFIBQuery* FDMLQuery;
	bool FContinue;
	TpFIBSQLExecuteError FOnExecuteError;
	TpFIBScriptParamCheck FOnParamCheck;
	bool FValidate;
	bool FValidating;
	TpFIBScriptStats* FStats;
	int FSQLDialect;
	AnsiString FCharSet;
	Pfibscript_util::TMappedMemoryStream* FBlobFile;
	AnsiString FBlobFileName;
	AnsiString FLastDDLLog;
	AnsiString FLastDMLLog;
	TpFIBParseKind FCurrentStmt;
	bool FExecuting;
	bool __fastcall GetPaused(void);
	void __fastcall SetPaused(const bool Value);
	void __fastcall SetTerminator(const AnsiString Value);
	void __fastcall SetIfDef(const AnsiString Value);
	void __fastcall SetupNewConnection(void);
	void __fastcall SetDatabase(const Pfibdatabase::TpFIBDatabase* Value);
	void __fastcall SetTransaction(const Pfibdatabase::TpFIBTransaction* Value);
	AnsiString __fastcall StripQuote(const AnsiString Text);
	Classes::TStrings* __fastcall GetScript(void);
	void __fastcall SetScript(const Classes::TStrings* Value);
	Fibquery::TFIBXSQLDA* __fastcall GetSQLParams(void);
	void __fastcall SetStatsOn(const bool Value);
	Classes::TStrings* __fastcall GetTokens(void);
	TpFIBSQLParser* __fastcall GetSQLParser(void);
	void __fastcall SetSQLParser(const TpFIBSQLParser* Value);
	void __fastcall SetBlobFileName(const AnsiString Value);
	
protected:
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
	virtual void __fastcall DoDML(const AnsiString Text);
	virtual void __fastcall DoDDL(const AnsiString Text);
	virtual void __fastcall DoDescribe(const AnsiString Text);
	virtual void __fastcall DoSET(const AnsiString Text);
	virtual void __fastcall DoConnect(const AnsiString SQLText);
	virtual void __fastcall DoCreate(const AnsiString SQLText);
	virtual void __fastcall DoReconnect(void);
	virtual void __fastcall DropDatabase(const AnsiString SQLText);
	void __fastcall ParserError(System::TObject* Sender, AnsiString Error, AnsiString SQLText, int LineIndex);
	void __fastcall ParserParse(System::TObject* Sender, TpFIBParseKind AKind, AnsiString SQLText);
	
public:
	__fastcall virtual TpFIBScript(Classes::TComponent* AOwner);
	__fastcall virtual ~TpFIBScript(void);
	bool __fastcall ValidateScript(void);
	void __fastcall ExecuteScript(void);
	Fibquery::TFIBXSQLVAR* __fastcall ParamByName(AnsiString Idx);
	__property bool Paused = {read=GetPaused, write=SetPaused, nodefault};
	__property Fibquery::TFIBXSQLDA* Params = {read=GetSQLParams};
	__property TpFIBScriptStats* Stats = {read=FStats};
	__property Classes::TStrings* CurrentTokens = {read=GetTokens};
	__property bool Validating = {read=FValidating, nodefault};
	
__published:
	__property bool AutoDDL = {read=FAutoDDL, write=FAutoDDL, default=1};
	__property AnsiString BlobFileName = {read=FBlobFileName, write=SetBlobFileName};
	__property Pfibdataset::TpFIBDataSet* Dataset = {read=FDataset, write=FDataset};
	__property Pfibdatabase::TpFIBDatabase* Database = {read=FDatabase, write=SetDatabase};
	__property AnsiString LastDDLQueryLog = {read=FLastDDLLog, write=FLastDDLLog};
	__property AnsiString LastDMLQueryLog = {read=FLastDMLLog, write=FLastDMLLog};
	__property Pfibdatabase::TpFIBTransaction* Transaction = {read=FTransaction, write=SetTransaction};
	__property AnsiString Terminator = {read=FTerminator, write=SetTerminator};
	__property AnsiString IfDefine = {read=FIfDef, write=SetIfDef};
	__property Classes::TStrings* Script = {read=GetScript, write=SetScript};
	__property bool Statistics = {read=FStatsOn, write=SetStatsOn, default=1};
	__property int SQLDialect = {read=FSQLDialect, write=FSQLDialect, default=3};
	__property TpFIBSQLParser* SQLParser = {read=GetSQLParser, write=SetSQLParser};
	__property TpFIBSQLParseStmt OnParse = {read=FOnParse, write=FOnParse};
	__property TpFIBSQLParseError OnParseError = {read=FOnError, write=FOnError};
	__property TpFIBSQLExecuteError OnExecuteError = {read=FOnExecuteError, write=FOnExecuteError};
	__property TpFIBScriptParamCheck OnParamCheck = {read=FOnParamCheck, write=FOnParamCheck};
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Pfibscript */
using namespace Pfibscript;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Pfibscript


в файле "pFIBScript.hpp", который создал сам RadStudio.
Кто-нибудь сталкивался с таким? куда копать, уже 3 день с этим бьюсь.
Что испробовал:
Перекомпилировать FIBScript.
Вычитал, что возможно необходимо проверить двойной #include - нет задвоений.
...
Рейтинг: 0 / 0
Ошибка pFIBScript.hpp: E2040 Declaration terminated incorrectly
    #40027677
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liron
на строчку
закомментируйте строку или переставьте строки.
Наблюдайте за реакцией))
...
Рейтинг: 0 / 0
Ошибка pFIBScript.hpp: E2040 Declaration terminated incorrectly
    #40027678
liron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
liron
на строчку
закомментируйте строку или переставьте строки.
Наблюдайте за реакцией))

Если закоментить или поменять имя "FWork" на "Fwork1", компиляция проходит нормально, но не уверен, что потом не вылезит кракозябра или функцианал полетит.
...
Рейтинг: 0 / 0
Ошибка pFIBScript.hpp: E2040 Declaration terminated incorrectly
    #40027680
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liron
PetroNotC Sharp
пропущено...
закомментируйте строку или переставьте строки.
Наблюдайте за реакцией))

Если закоментить или поменять имя "FWork" на "Fwork1", компиляция проходит нормально, но не уверен, что потом не вылезит кракозябра или функцианал полетит.

Получается оно нигде не используется иначе не скомпилировалось бы, можно смело убирать.
...
Рейтинг: 0 / 0
Ошибка pFIBScript.hpp: E2040 Declaration terminated incorrectly
    #40027683
liron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

ну так в .HPP файле то оно не где боле не упоминается, но в исходнике .pas оно используется да и библиотека BPL, lib и BPI собраны с ним. Не получится, что обращение к нему буте где-то из глубины?
...
Рейтинг: 0 / 0
Ошибка pFIBScript.hpp: E2040 Declaration terminated incorrectly
    #40027684
liron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T
liron
пропущено...

Если закоментить или поменять имя "FWork" на "Fwork1", компиляция проходит нормально, но не уверен, что потом не вылезит кракозябра или функцианал полетит.

Получается оно нигде не используется иначе не скомпилировалось бы, можно смело убирать.

ну так в .HPP файле то оно не где боле не упоминается, но в исходнике .pas оно используется да и библиотека BPL, lib и BPI собраны с ним. Не получится, что обращение к нему буте где-то из глубины?
...
Рейтинг: 0 / 0
Ошибка pFIBScript.hpp: E2040 Declaration terminated incorrectly
    #40027688
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liron,
Увы, программист это исследователь.
Дак исследуй! Где что вылезет или не вылезет.
...
Рейтинг: 0 / 0
Ошибка pFIBScript.hpp: E2040 Declaration terminated incorrectly
    #40027693
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ищите где-нибудь
Код: plaintext
1.
#define FWork ...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ошибка pFIBScript.hpp: E2040 Declaration terminated incorrectly
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]