I have the folowing problem:
I have a Client Server application and I use Indy for the communication.
The Server has a TIdHTTPWebBrokerBridge. we have a standalone application
that is a Soap Server.
The file structure is as folows:
I have a form TFormServer.
That includes a TSOAPWebServer.
The WebServer includes TIdHTTPWebBrokerBridge.
When I compile TFormServer in the new situation I get all kind of errors on
different CodeGear header files. that I can't Place.
examples of the errors:
the first one is
[BCC32 Error] Httpapp.hpp(91): E2293 ) expected
the row is :
void __fastcall ExtractFields(const Sysutils::TSysCharSet &Separators,
const Sysutils::TSysCharSet &WhiteSpace, char * Content, Classes::TStrings*
Strings);
and the compiler complains about the Second Sysutils::TSysCharSet ?? So I
belive there is somthing els wrong.
othere errors are :
[BCC32 Error] iosfwd(260): E2238 Multiple declaration for
'char_traits<wchar_t>::assign(wchar_t &,const wchar_t &)'
[BCC32 Error] iosfwd(141): E2344 Earlier declaration of
'char_traits<wchar_t>::assign(wchar_t &,const wchar_t &)'
After some commenting out I find a relation to the Header of
TIdHTTPWebBrokerBridge.
When I try to forward declare the TIdHTTPWebBrokerBridge.
And in the CPP file to use the include I have ambiguity between de forward
declared TIdHTTPWebBrokerBridge and the Included TIdHTTPWebBrokerBridge.
But the TFormServer Compiles fine now. That way I believe that it has to do
with the Indy part.
About my replacement of Indy:
I removed all Indy10 files from the codegear directories.
Bin
Include\Indy10
Lib\Debug\Indy10
Lib\Debug\*.lib
Lib\Debug\*.bpi
Lib\Indy10
Lib\Release\*.lib
Lib\Release\*.bpi
Source\Indy\Indy10
I made new project files and internally I used IndyCore100.bpi/Lib
IndySystem100.bpi/Lib and the IndyProtocols100.bpi/Lib
I copied all files from the compiled version to the directories above.
For compilation I run this script:
>>>>>>>>>>Compile script <<<<<<<<<<<<
REM define output paths
Set BASE_OUTPUT_PATH=c:\Builder2007Indy
Set OBJ_PATH=%BASE_OUTPUT_PATH%\Build
Set HEADER_OUTPUT=%BASE_OUTPUT_PATH%\Include
Set LIB_OUTPUT="%BASE_OUTPUT_PATH%\Lib"
Set PACKAGE_OUTPUT="%BASE_OUTPUT_PATH%\Bin"
Set SOURCES_OUTPUT=%BASE_OUTPUT_PATH%\Source\
REM Create output paths if don't exist
if not exist %BASE_OUTPUT_PATH% md %BASE_OUTPUT_PATH%
if not exist %OBJ_PATH% md %OBJ_PATH%
if not exist %HEADER_OUTPUT% md %HEADER_OUTPUT%
if not exist %PACKAGE_OUTPUT% md %PACKAGE_OUTPUT%
if not exist %SOURCES_OUTPUT% md %SOURCES_OUTPUT%
if not exist %SOURCES_OUTPUT%System\ md %SOURCES_OUTPUT%System\
if not exist %SOURCES_OUTPUT%Core\ md %SOURCES_OUTPUT%Core\
if not exist %SOURCES_OUTPUT%Protocols\ md %SOURCES_OUTPUT%Protocols\
REM Create the sub pasts
REM Start with system
cd System
dcc32 -N0%OBJ_PATH% -NH%HEADER_OUTPUT% -NO%LIB_OUTPUT% -NB%PACKAGE_OUTPUT% -LE%PACKAGE_OUTPUT%
-LN%PACKAGE_OUTPUT% -JL -B IndySystem100.dpk
copy *.pas %SOURCES_OUTPUT%System\*.pas
copy IdCompilerDefines.inc %SOURCES_OUTPUT%System\IdCompilerDefines.inc
REM Core part
cd ..\Core
dcc32 -N0%OBJ_PATH% -NH%HEADER_OUTPUT% -NO%LIB_OUTPUT% -NB%PACKAGE_OUTPUT% -LE%PACKAGE_OUTPUT%
-LN%PACKAGE_OUTPUT% -JL -B IndyCore100.dpk
REM COre Design time Package
dcc32 -N0%OBJ_PATH% -NH%HEADER_OUTPUT% -NO%LIB_OUTPUT% -NB%PACKAGE_OUTPUT% -LE%PACKAGE_OUTPUT%
-LN%PACKAGE_OUTPUT% -JL -B dclIndyCore100.dpk
copy *.pas %SOURCES_OUTPUT%Core\*.pas
copy IdCompilerDefines.inc %SOURCES_OUTPUT%Core\IdCompilerDefines.inc
REM Protocols
cd ..\Protocols
dcc32 -N0%OBJ_PATH% -NH%HEADER_OUTPUT% -NO%LIB_OUTPUT% -NB%PACKAGE_OUTPUT% -LE%PACKAGE_OUTPUT%
-LN%PACKAGE_OUTPUT% -JL -B IndyProtocols100.dpk
REM Protocols Design time Package
dcc32 -N0%OBJ_PATH% -NH%HEADER_OUTPUT% -NO%LIB_OUTPUT% -NB%PACKAGE_OUTPUT% -LE%PACKAGE_OUTPUT%
-LN%PACKAGE_OUTPUT% -JL -B dclIndyProtocols100.dpk
copy *.pas %SOURCES_OUTPUT%Protocols\*.pas
copy IdCompilerDefines.inc %SOURCES_OUTPUT%Protocols\IdCompilerDefines.inc
cd..
>>>>> end of script <<<<<<<<
I used The -JL option for generating Lib + hpp and the -B option to get the
dcu files.
>>> and for copy <<<<<
SET CODEGEAR="C:\Program Files\CodeGear\RAD Studio\5.0"
Set BASE_OUTPUT_PATH=c:\Builder2007Indy
Set OBJ_PATH=%BASE_OUTPUT_PATH%\Build
Set HEADER_OUTPUT=%BASE_OUTPUT_PATH%\Include
Set LIB_OUTPUT="%BASE_OUTPUT_PATH%\Lib"
Set PACKAGE_OUTPUT="%BASE_OUTPUT_PATH%\Bin"
Set SOURCES_OUTPUT=%BASE_OUTPUT_PATH%\Source\
copy %PACKAGE_OUTPUT%\*.bpl %CODEGEAR%\Bin\*.bpl
copy %OBj_PATH%\*.dcu %CODEGEAR%\Lib\Debug\Indy10\*.dcu
copy %OBj_PATH%\*.dcu %CODEGEAR%\Lib\Indy10\*.dcu
rem bpi
copy %PACKAGE_OUTPUT%\*.bpi %CODEGEAR%\Lib\Debug\*.bpi
rem Libs
copy %LIB_OUTPUT%\*100.Lib %CODEGEAR%\Lib\Debug\*.Lib
rem Headers
copy %HEADER_OUTPUT%\*.hpp %CODEGEAR%\Include\Indy10\*.hpp
rem Sources
rem when copying the sources we should copy the IdCompilerDefines.inc to.
xcopy /s %SOURCES_OUTPUT%*.* %CODEGEAR%\Sources\Indy\Indy10\*.*
>>> end of copy script <<<<<<
in the copy script I left the Release directory for the time bieng I think I
have to compile the package difrently for a releas. So for now that is on
hold.
To use the TIdHTTPWebBrokerBridge I did copy IdHTTPWebBrokerBridge.pas +
IdCompilerDefines.inc to my code directory.
question:
Do I have to add a conditional defines in my Server Project?
Is there anyone that knows what the reason is?
Regards,
Jvdn
> [BCC32 Error] Httpapp.hpp(91): E2293 ) expected
That usually means a specified data type is unknown to the compiler.
> void __fastcall ExtractFields(const Sysutils::TSysCharSet &Separators,
> const Sysutils::TSysCharSet &WhiteSpace, char * Content,
> Classes::TStrings* Strings);
> and the compiler complains about the Second Sysutils::TSysCharSet ??
I doubt that. There would be no reason for it to flag the second one as
faulty but accept the first one as ok. Besides, TSysCharSet does exist in
the Sysutils namespace anyway. The error is somewhere else.
Gambit
"Remy Lebeau (TeamB)" <no....@no.spam.com> schreef in bericht
news:48988d0c$1...@newsgroups.borland.com...
#include <IdBaseComponent.hpp>
#include <IdComponent.hpp>
#include <IdUDPBase.hpp>
#include <IdUDPClient.hpp>
#include <IdUDPServer.hpp>
in the Header before
#include <IdHTTPWebBrokerBridge.hpp>
was the problem.
Thanks,
jvdn