🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.internet.socket
Article #25

Builder 6 + indy 9.0 => Builder2007 + Indy10 and the TIdHTTPWebBrokerBridge

#25
From: jvdn
Date: Tue, 05 Aug 2008 09:28
279 lines
6756 bytes
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.

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
Technical Details
Message-ID: <48981d41$1@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news2.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx01.iad01.newshosting.com!newshosting.com!203.109.252.33.MISMATCH!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: 11508e,8b83c362c60d305,start
X-Google-Attributes: gid11508e,domainid0,public,usenet
X-Google-Language: ENGLISH,ASCII-7-bit
From: "jvdn" <geen@geenmail.com>
Newsgroups: borland.public.cppbuilder.internet.socket
Subject: Builder 6 + indy 9.0 => Builder2007 + Indy10 and the TIdHTTPWebBrokerBridge
Date: Tue, 5 Aug 2008 11:28:36 +0200
Lines: 283
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.3138
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3138
X-RFC2646: Format=Flowed; Original
NNTP-Posting-Host: 212.178.41.122
Message-ID: <48981d41$1@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1217928513 212.178.41.122 (5 Aug 2008 02:28:33 -0700)
Path: arc1-ca.pugleaf.net!g2news2.google.com!news2.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx01.iad01.newshosting.com!newshosting.com!203.109.252.33.MISMATCH!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mail