jvdn
2008-08-05 09:28:36 UTC
Hi,
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.
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..
I used The -JL option for generating Lib + hpp and the -B option to get the
dcu files.
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\*.*
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
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.
Compile script <<<<<<<<<<<<
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 <<<<<<<<
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 Ihave 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