Board index » cppbuilder » Re: Assertion Error while sending email

Re: Assertion Error while sending email


2007-08-03 01:36:23 AM
cppbuilder40
"JLoz" < XXXX@XXXXX.COM >wrote in message
Quote
Would it be possible for you to repair the FULLC5.bat file
for this new release? That would be very helpul.
What is wrong with it to begin with?
Gambit
 
 

Re:Re: Assertion Error while sending email

"JLoz" < XXXX@XXXXX.COM >wrote in message
Quote
Below is the stack trace you asked for.
That stack trace is showing a completely different error than the one you
have been describing.
Quote
The "Cannot decode Response" error occurs after the fact
as I have a try finally around this and it happens when I try
to disconnect by using this code
Based on what the stack trace shows, what appears to be happening is that
the code is crashing while sending a login command to the server, so there
is likely unprocessed data from the server being left in the connection's
InputBuffer, such that when you call Disconnect() later, it sends a QUIT
command to the server and then ends up reading the unprocessed data from the
earlier command and fails.
Quote
if (!UpperCase(E.Message).Pos("RANGE CHECK ERROR")) {
That is not the best way to check for a specific exception type. You should
be checking for the ERangeError class specifically instead, ie:
catch (const Sysutils::ERangeError& E)
{
// why do you ignore this type of error?
}
catch (const Sysutils::Exception& E)
{
err = E.Message;
Header.Set("Error", E.Message);
Header.Set("Result", "0");
}
Or:
catch (const Sysutils::Exception& E)
{
if( dynamic_cast<const ERangeError*>(&E) == NULL )
{
err = E.Message;
Header.Set("Error", E.Message);
Header.Set("Result", "0");
}
}
Or:
catch (const Sysutils::Exception& E)
{
if( !E.InheritsFrom(__classid(ERangeError)) )
{
err = E.Message;
Header.Set("Error", E.Message);
Header.Set("Result", "0");
}
}
Quote
if(err != "") throw Sysutils::Exception(AnsiString(err));
You should be re-throwing the original exception, not creating a new one.
You lose the original error information that way.
Try something more like this code instead:
try
{
IdSMTP1->Connect();
try
{
IdSMTP1->Send(IdMessage1);
}
__finally
{
IdMessage1->Clear();
IdSMTP1->Disconnect();
}
}
catch (const Sysutils::ERangeError & E)
{
// ignore ...
}
catch (const Sysutils::Exception& E)
{
Header.Set("Error", E.Message);
Header.Set("Result", "0");
throw;
}
As for the actual cause of the original error, that is something that will
have to be looked into more deeply. Since Indy 10 is currently undergoing a
major code review right now, the issue may have already been addressed for
the next release.
Gambit
 

Re:Re: Assertion Error while sending email

Quote
>Would it be possible for you to repair the FULLC5.bat file
>for this new release? That would be very helpul.

What is wrong with it to begin with?

The FULLC5.bat file does not work for Indy 10.1.6.
I tried two workarounds: 1st) I manually generated the bpk files by
comparing with the dbk that were available. I compiles to a point and then
crashes when compiling IdZlib.pas. Then, I dissable the debug options and
got it to compile but the components did not work as I was never able to
send an email.
2nd) I modified FULLC6.bat, and it still gives me errors doing the
IdZlib.pas, but I am able to continue and get all the bpl and bpi files
needed. I installed it and I was able to write a test application and send
emails with attachments. Then, the same code on a different application
would not work.
Were you able to take a look at the stack trace that I posted yesterday?
Thanks again for all your help,
JLoz
Quote

Gambit


 

{smallsort}

Re:Re: Assertion Error while sending email

Quote
As for the actual cause of the original error, that is something that will
have to be looked into more deeply. Since Indy 10 is currently undergoing
a
major code review right now, the issue may have already been addressed for
the next release.

How soon are you guys planning on releasing this new version?
JLoz
Quote

Gambit


 

Re:Re: Assertion Error while sending email

Quote

>if (!UpperCase(E.Message).Pos("RANGE CHECK ERROR")) {

That is not the best way to check for a specific exception type. You
should
be checking for the ERangeError class specifically instead, ie:

catch (const Sysutils::ERangeError& E)
{
// why do you ignore this type of error?
I am ignoring the error because I starting getting it with my test
application, but the emails were still being sent. I posted the question on
7/18 but I never got an answer on this, so I decided to ignore it for now
while I understand this error and/or find out about a way to prevent it.
Quote
}
catch (const Sysutils::Exception& E)
{
err = E.Message;
Header.Set("Error", E.Message);
Header.Set("Result", "0");
}

 

Re:Re: Assertion Error while sending email

"JLoz" < XXXX@XXXXX.COM >wrote in message
Quote
The FULLC5.bat file does not work for Indy 10.1.6.
You need to be more specific.
Gambit
 

Re:Re: Assertion Error while sending email

"JLoz" < XXXX@XXXXX.COM >wrote in message
Quote
How soon are you guys planning on releasing this new version?
Within the next few weeks.
Gambit
 

Re:Re: Assertion Error while sending email

Quote
>The FULLC5.bat file does not work for Indy 10.1.6.

You need to be more specific.
I run the batch file and no BPL or BPI files are generated.
This is what the command prompt displays. I removed the Clean.bat file as I
ran it once and I had to reinstall BCB5 afterwards. Therefore, you will see
errors regarding that. I manually compiled the computil.dpr and lspfix.dpr.
What are those for by the way?
The path would look like this
...indy\lib\Fullc5.bat.
Here it goes....
'clean.bat' is not recognized as an internal or external command,
operable program or batch file.
'clean.bat' is not recognized as an internal or external command,
operable program or batch file.
Core\IdAbout.pas
Core\IdAboutDotNET.pas
Core\IdAboutVCL.pas
Core\IdAntiFreeze.pas
Core\IdAssignedNumbers.pas
Core\IdBuffer.pas
Core\IdCmdTCPClient.pas
Core\IdCmdTCPServer.pas
Core\IdCommandHandlers.pas
Core\IdContext.pas
Core\IdCoreDsnRegister.pas
Core\IdCustomTCPServer.pas
Core\IdCustomTransparentProxy.pas
Core\IdDsnBaseCmpEdt.pas
Core\IdDsnCoreResourceStrings.pas
Core\IdDsnPropEdBinding.pas
Core\IdDsnPropEdBindingNET.pas
Core\IdDsnPropEdBindingVCL.pas
Core\IdExceptionCore.pas
Core\IdGlobalCore.pas
Core\IdIcmpClient.pas
Core\IdIntercept.pas
Core\IdInterceptSimLog.pas
Core\IdInterceptThrottler.pas
Core\IdIOHandler.pas
Core\IdIOHandlerSocket.pas
Core\IdIOHandlerStack.pas
Core\IdIOHandlerStream.pas
Core\IdIPAddress.pas
Core\IdIPMCastBase.pas
Core\IdIPMCastClient.pas
Core\IdIPMCastServer.pas
Core\IdLogBase.pas
Core\IdLogDebug.pas
Core\IdLogEvent.pas
Core\IdLogFile.pas
Core\IdLogStream.pas
Core\IdRawBase.pas
Core\IdRawClient.pas
Core\IdRawFunctions.pas
Core\IdRawHeaders.pas
Core\IdRegisterCore.pas
Core\IdReply.pas
Core\IdReplyRFC.pas
Core\IdResourceStringsCore.pas
Core\IdScheduler.pas
Core\IdSchedulerOfThread.pas
Core\IdSchedulerOfThreadDefault.pas
Core\IdSchedulerOfThreadPool.pas
Core\IdServerIOHandler.pas
Core\IdServerIOHandlerSocket.pas
Core\IdServerIOHandlerStack.pas
Core\IdSimpleServer.pas
Core\IdSocketHandle.pas
Core\IdSocks.pas
Core\IdSync.pas
Core\IdTask.pas
Core\IdTCPClient.pas
Core\IdTCPConnection.pas
Core\IdTCPServer.pas
Core\IdTCPStream.pas
Core\IdThread.pas
Core\IdThreadComponent.pas
Core\IdThreadSafe.pas
Core\IdTraceRoute.pas
Core\IdUDPBase.pas
Core\IdUDPClient.pas
Core\IdUDPServer.pas
Core\IdYarn.pas
69 file(s) copied.
Core\dclindycorek3.dpkl
Core\dclIndyCore100.dpk
Core\dclIndyCore100Net.dpk
Core\dclIndyCore110Net.dpk
Core\dclIndyCore50.dpk
Core\dclIndyCore60.dpk
Core\dclIndyCore70.dpk
Core\dclIndyCore90.dpk
Core\dclIndyCore90Net.dpk
Core\dclindycorek3.dpk
Core\IndyCore100.dpk
Core\IndyCore100Net.dpk
Core\IndyCore110Net.dpk
Core\IndyCore50.dpk
Core\IndyCore60.dpk
Core\IndyCore70.dpk
Core\IndyCore90.dpk
Core\IndyCore90Net.dpk
Core\IndyCoreK3.dpk
19 file(s) copied.
Core\dclIndyCore50.obj
Core\IdAbout.obj
Core\IdAboutVCL.obj
Core\IdAntiFreeze.obj
Core\IdAssignedNumbers.obj
Core\IdBuffer.obj
Core\IdCmdTCPClient.obj
Core\IdCmdTCPServer.obj
Core\IdCommandHandlers.obj
Core\IdContext.obj
Core\IdCoreDsnRegister.obj
Core\IdCustomTCPServer.obj
Core\IdCustomTransparentProxy.obj
Core\IdDsnBaseCmpEdt.obj
Core\IdDsnCoreResourceStrings.obj
Core\IdDsnPropEdBinding.obj
Core\IdDsnPropEdBindingVCL.obj
Core\IdExceptionCore.obj
Core\IdGlobalCore.obj
Core\IdIcmpClient.obj
Core\IdIntercept.obj
Core\IdInterceptSimLog.obj
Core\IdInterceptThrottler.obj
Core\IdIOHandler.obj
Core\IdIOHandlerSocket.obj
Core\IdIOHandlerStack.obj
Core\IdIOHandlerStream.obj
Core\IdIPAddress.obj
Core\IdIPMCastBase.obj
Core\IdIPMCastClient.obj
Core\IdIPMCastServer.obj
Core\IdLogBase.obj
Core\IdLogDebug.obj
Core\IdLogEvent.obj
Core\IdLogFile.obj
Core\IdLogStream.obj
Core\IdRawBase.obj
Core\IdRawClient.obj
Core\IdRawFunctions.obj
Core\IdRawHeaders.obj
Core\IdRegisterCore.obj
Core\IdReply.obj
Core\IdReplyRFC.obj
Core\IdResourceStringsCore.obj
Core\IdScheduler.obj
Core\IdSchedulerOfThread.obj
Core\IdSchedulerOfThreadDefault.obj
Core\IdSchedulerOfThreadPool.obj
Core\IdServerIOHandler.obj
Core\IdServerIOHandlerSocket.obj
Core\IdServerIOHandlerStack.obj
Core\IdSimpleServer.obj
Core\IdSocketHandle.obj
Core\IdSocks.obj
Core\IdSync.obj
Core\IdTask.obj
Core\IdTCPClient.obj
Core\IdTCPConnection.obj
Core\IdTCPServer.obj
Core\IdTCPStream.obj
Core\IdThread.obj
Core\IdThreadComponent.obj
Core\IdThreadSafe.obj
Core\IdTraceRoute.obj
Core\IdUDPBase.obj
Core\IdUDPClient.obj
Core\IdUDPServer.obj
Core\IdYarn.obj
Core\Indycore50.obj
69 file(s) copied.
Core\IdCompilerDefines.inc
Core\IdCore90ASM90.inc
Core\IddclCore90ASM90.inc
3 file(s) copied.
Core\AboutIndyNET.resources
Core\AboutProg.res
Core\dclIndyCore100.res
Core\dclIndyCore50.res
Core\dclIndyCore60.res
Core\dclIndyCore70.res
Core\dclIndyCore90.res
Core\dclindycorek3.res
Core\IdAboutDotNET.TfrmAbout.resources
Core\IdAboutDotNET.resx
Core\IdAboutDotNET.resources
Core\IdAboutNET.resources
Core\IdAboutVCL.RES
Core\IdAbout.resources
Core\IdAbout.resx
Core\IdAbout.TfrmAbout.resources
Core\IdAbout.TWinForm.resources
Core\IdCreditsBitmap.res
Core\IdCreditsBitmap.resources
Core\IdDsnPropEdBindingNET.resx
Core\IdDsnPropEdBindingNET.TIdDsnPropEdBindingNET.resources
Core\IndyCore100.res
Core\IndyCore50.RES
Core\IndyCore60.RES
Core\IndyCore70.RES
Core\IndyCore90.RES
26 file(s) copied.
Core\IdCoreRegister.dcr
Core\IdCoreRegisterCool.dcr
2 file(s) copied.
*.pas
The system cannot find the file specified.
0 file(s) copied.
Indy100Net.dpk
Indy110Net.dpk
Indy90Net.dpk
3 file(s) copied.
*.obj
The system cannot find the file specified.
0 file(s) copied.
*.inc
The system cannot find the file specified.
0 file(s) copied.
*.res
The system cannot find the file specified.
0 file(s) copied.
*.dcr
The system cannot find the file specified.
0 file(s) copied.
Borland Delphi Version 13.0 Copyright (c) 1983,99 Inprise Corporation
IdCompilerDefines.inc(190)
IdCompressionIntercept.pas(329)
519 lines, 0.06 seconds, 2942 bytes code, 4 bytes data.
Borland Delphi Version 13.0 Copyright (c) 1983,99 Inprise Corporation
IndyCore50.dpk(93)
94 lines, 0.08 seconds, 779 bytes code, 0 bytes data.
Borland Delphi Version 13.0 Copyright (c) 1983,99 Inprise Corporation
IndyCore50.dpk(93)
Hint: Package 'IndyCore50' does not use or export
'IdIcmpClient.RSICMPPortUnreac
hable'
Hint: Package 'IndyCore50' does not use or export
'IdIcmpClient.RSICMPAAdminDest
Prohibitted'
Hint: Package 'IndyCore50' does not use or export
'IdIcmpClient.RSICMPInfoReques
t'
Hint: Package 'IndyCore50' does not use or export
'IdIcmpClient.RSICMPConvUnknow
nUnspecError'
Hint: Package 'IndyCore50' does not use or export
'IdIcmpClient.RSICMPConvDontCo
nvOptPresent'
Hint: Package 'IndyCore50' does not use or export
'IdIcmpClient.RSICMPMobReg'
94 lines, 0.11 seconds, 216488 bytes code, 633 bytes data.
Creating IndyCore50.LIB file, please wait...
The system cannot find the path specified.
Borland Delphi Version 13.0 Copyright (c) 1983,99 Inprise Corporation
IdCompilerDefines.inc(190)
IdCompilerDefines.inc(190)
IdDsnCoreResourceStrings.pas(128)
IdAboutVCL.pas(287)
IdAbout.pas(34)
IdCompilerDefines.inc(190)
IdAntiFreeze.pas(129)
IdCompilerDefines.inc(190)
IdCompilerDefines.inc(190)
IdDsnBaseCmpEdt.pas(91)
IdCompilerDefines.inc(190)
IdCompilerDefines.inc(190)
IdDsnPropEdBindingVCL.pas(792)
IdDsnPropEdBinding.pas(130)
IdCoreDsnRegister.pas(177)
IdCompilerDefines.inc(190)
IdRegisterCore.pas(225)
dclIndyCore50.dpk(45)
3560 lines, 0.09 seconds, 26340 bytes code, 261 bytes data.
Borland Delphi Version 13.0 Copyright (c) 1983,99 Inprise Corporation
IdCompilerDefines.inc(190)
IdCompressionIntercept.pas(329)
519 lines, 0.06 seconds, 2942 bytes code, 4 bytes data.
Borland Delphi Version 13.0 Copyright (c) 1983,99 Inprise Corporation
Fatal: File not found: 'Indy50.dpk'
'clean' is not recognized as an internal or external command,
operable program or batch file.
Error!
The system cannot find the path specified.
Press any key to continue . . .
Quote


Gambit


 

Re:Re: Assertion Error while sending email

"JLoz" < XXXX@XXXXX.COM >wrote in message
Quote
I manually compiled the computil.dpr and lspfix.dpr.
What are those for by the way?
Computil.exe sets up environment variables that the .bat file uses to know
where the appropriate compiler version is installed.
Quote
Fatal: File not found: 'Indy50.dpk'
That might have something to do with your problem.
Gambit
 

Re:Re: Assertion Error while sending email

Quote
>Fatal: File not found: 'Indy50.dpk'

That might have something to do with your problem.

Is there an easy solution to this? I am not very familiar with batch
programming...
Right now I have an app that works great but it only has Indy components and
some buttons, edit boxes an such to set all I need to send an email. All
the Indy components and functions used to send the email are contained in
tha data module. Now, that same data module on another app does not work.
I just tried recreating a new data module in my big application (I do not
know what else to try) and noticed that the property
IdMessage1->Recipients->EMailAddresses shows the following when using a
watch.
IdMessage1->Recipients->EMailAddresses: E2451 Undefined symbol '_fastcall
Idemailaddress::TIdEMailAddressList::GetEMailAddresses()
Why doesn't this show up when I compile?
I also just tried to download the latest snapshot (hoping this has been
taking care of), but it does not compile at all as it crashes doing the
IdGlobal.pas (This using my modified Fullc6.bat which by the way is just
like the original one except that it uses tha packages for bd5). The error
is below: I will give it a try the following days to see if I can compile
it.
Press any key to continue . . .
Borland Delphi Version 13.0 Copyright (c) 1983,99 Inprise Corporation
IdCompilerDefines.inc(339)
IdCompilerDefines.inc(339)
IdCompilerDefines.inc(339)
IdVers.inc(3)
IdGlobal.pas(831) Error: Undeclared identifier: 'TSeekOrigin'
IdResourceStrings.pas(120)
IdGlobal.pas(1133) Fatal: Could not compile used unit
'IdResourceStrings.pas'
Error!
Press any key to continue . . .
Quote

Gambit


 

Re:Re: Assertion Error while sending email

"JLoz" < XXXX@XXXXX.COM >wrote in message
Quote
Is there an easy solution to this?
If you disable the "@echo off" command at the very top of the script, then
you will see the actual commands output to the screen while they are being
executed. You can then seen which command is outputting which error.
Quote
I just tried recreating a new data module in my big application
(I do not know what else to try) and noticed that the property
IdMessage1->Recipients->EMailAddresses shows the following
when using a watch.

IdMessage1->Recipients->EMailAddresses: E2451 Undefined
symbol '_fastcall Idemailaddress::TIdEMailAddressList::GetEMailAddresses()

Why doesn't this show up when I compile?
Because there is nothing wrong with the actual code. The Watch is simply
being stupid.
Quote
I also just tried to download the latest snapshot (hoping
this has been taking care of), but it does not compile at all
That is because the snapshot is currently undergoing changes in preparation
for a new release, so it is unstable at the moment, and will likely continus
to be so for the next couple of weeks.
Quote
This using my modified Fullc6.bat which by the way is just
like the original one except that it uses tha packages for bd5
You should not have done that. The v6 packages should have worked fine. I
have compiled Indy 10 for BCB 6 before.
Gambit
 

Re:Re: Assertion Error while sending email

Quote
If you disable the "@echo off" command at the very top of the script, then
you will see the actual commands output to the screen while they are being
executed. You can then seen which command is outputting which error.

I did the following...
Dissabled the @echo off
Then I got the error : Fatal: File not found: 'Indy50.dpk'
I added the following lines:
copy System\*.pas ..\C5
copy System\*.dpk ..\C5
copy System\*.obj ..\C5
copy System\*.inc ..\C5
copy System\*.res ..\C5
copy System\*.dcr ..\C5
copy Protocols\*.pas ..\C5
copy Protocols\*.dpk ..\C5
copy Protocols\*.obj ..\C5
copy Protocols\*.inc ..\C5
copy Protocols\*.res ..\C5
copy Protocols\*.dcr ..\C5
Then I ran it again and I got errors again doing the IdZlib.pas which I
ignored the same I did when I used FULLC6.bat; it kept running until I got
the following error
C:\Public\indy\C5>C:\PROGRA~1\Borland\CBUILD~3\bin\dcc32.exe
IndyCore50.dpk /O..
\Source\objs /DBCB /M /H /W /JPHN -$d-l-n+p+r-s-t-w-y-
Borland Delphi Version 13.0 Copyright (c) 1983,99 Inprise Corporation
IdObjsBase.pas(27)
IdObjsVCL.pas(30)
IdStruct.pas(199)
IndySystem50.dpk(57)
Quote
>>>>>IndyCore50.dpk(30) Warning: Package 'IndySystem50' will not
be written to disk b
Quote
>>>>>ecause -J option is enabled
IndyCore50.dpk(30) Fatal: Required package 'IndySystem50' not found
C:\Public\indy\C5>if errorlevel 1 goto enderror
C:\Public\indy\C5>call clean
'clean' is not recognized as an internal or external command,
operable program or batch file.
C:\Public\indy\C5>echo Error!
Error!
C:\Public\indy\C5>cd ..\Source
The system cannot find the path specified.
C:\Public\indy\C5>PAUSE
Press any key to continue . . .
It says the IndySystem50 is not written to the disk, but IndiCore50 requires
it.
I removed the J from the /JPHN part in the following command line
C:\Public\indy\C5>C:\PROGRA~1\Borland\CBUILD~3\bin\dcc32.exe
IndyCore50.dpk /O..
\Source\objs /DBCB /M /H /W /JPHN -$d-l-n+p+r-s-t-w-y-
Then one more error...
C:\Public\indy\C5>C:\PROGRA~1\Borland\CBUILD~3\bin\dcc32.exe
IndyCore50.dpk /O..
\Source\objs /DBCB /M /H /W /PHN -$d-l-n+p+r-s-t-w-y-
Borland Delphi Version 13.0 Copyright (c) 1983,99 Inprise Corporation
IndySystem50.dpk(57)
IdYarn.pas(47)
IdTask.pas(119)
IdContext.pas(201)
IdCompilerDefines.inc(190)
IdThreadSafe.pas(719)
IdThread.pas(580)
IdCommandHandlers.pas(649)
IdCmdTCPClient.pas(270)
IdScheduler.pas(154)
IdServerIOHandler.pas(105)
IdServerIOHandlerSocket.pas(153)
IdServerIOHandlerStack.pas(89)
IdCustomTCPServer.pas(389) Fatal: Unit name mismatch: 'IdGlobalCore'
C:\Public\indy\C5>if errorlevel 1 goto enderror
At this point I decided to stop as I did not know what to do...
This is how my modiffied FULLC6.bat that I use to compile the BCB5 packages
looks like... just in case:
@echo off
if (%1)==() goto test_command
if (%1)==(start) goto start
goto endok
:test_command
ECHO ************* TEST COMMAND ***********
PAUSE
if (%COMSPEC%)==() goto no_command
%COMSPEC% /E:9216 /C %0 start %1 %2 %3
goto endok
:no_command
ECHO ************* NO COMMAND ***********
PAUSE
echo No Command Interpreter found
goto endok
:start
REM call clean.bat
ECHO ************* BEFORE CALLING COMPUTIL ***********
PAUSE
computil SetupC5
if exist setenv.bat call setenv.bat
if not exist ..\C5\*.* md ..\C5>nul
REM if exist ..\C5\*.* call clean.bat ..\C5\
if (%NDC5%)==() goto enderror
REM ***************************************************
REM Compile Runtime Package IndySystem60
REM ***************************************************
ECHO ************* BEFORE COPYING THE FILES ***********
PAUSE
cd System
copy *.pas ..\..\C5
copy *.dpk ..\..\C5
copy *.obj ..\..\C5
copy *.inc ..\..\C5
copy *.res ..\..\C5
copy *.dcr ..\..\C5
copy *.rsp ..\..\C5
if not exist .\objs\*.* md .\objs>nul
cd ..\..\C5
ECHO ************* COMPILING INDYSYSTEM50.DPK ***********
PAUSE
dcc32.exe IndySystem50.dpk /O..\Lib\System\objs /DBCB /M /H /W /JPHN
/N. -$d-l-n+p+r-s-t-w-y- %2 %3 %4
if errorlevel 1 goto enderror
dcc32.exe IndySystem50.dpk /O..\Lib\System\objs /DBCB /M /H /W
/N. -$d-l-n+p+r-s-t-w-y- %2 %3 %4
if errorlevel 1 goto enderror
ECHO ************* CREATING THE LIBRARY ***********
PAUSE
for %%f in (*.obj) do tlib.exe IndySystem50.lib +%%f /P64>nul
ECHO ************* CLEANING UP FILES ***********
PAUSE
REM ***************************************************
REM Clean-up IndySystem60
REM ***************************************************
del *.dcu>nul
del *.pas>nul
del *.dpk>nul
del *.obj>nul
del *.inc>nul
del *.res>nul
del *.dcr>nul
del *.rsp>nul
REM ***************************************************
REM Compile Runtime Package IndyCore60
REM ***************************************************
cd ..\Lib\Core
ECHO ************* COPYING CORE FILES ***********
PAUSE
copy *.pas ..\..\C5
copy *.dpk ..\..\C5
copy *.obj ..\..\C5
copy *.inc ..\..\C5
copy *.res ..\..\C5
copy *.dcr ..\..\C5
copy *.rsp ..\..\C5
if not exist .\objs\*.* md .\objs>nul
cd ..\..\C5
ECHO ************* COMPILING INDYCORE50.DPK ***********
PAUSE
dcc32.exe IndyCore50.dpk /O..\Lib\Core\objs /DBCB /M /H /W /JPHN /N.
/U. -$d-l-n+p+r-s-t-w-y- %2 %3 %4
if errorlevel 1 goto enderror
dcc32.exe IndyCore50.dpk /O..\Lib\Core\objs /DBCB /M /H /W /N.
/U. -$d-l-n+p+r-s-t-w-y- %2 %3 %4
if errorlevel 1 goto enderror
ECHO ************* CREATING CORE LIBRARY ***********
PAUSE
for %%f in (*.obj) do tlib.exe IndyCore50.lib +%%f /P64>nul
del *.obj>nul
REM ***************************************************
REM Compile Designtime Package dclIndyCore60
REM ***************************************************
ECHO ************* COMPILING DCLINDYCORE50.DPK ***********
PAUSE
dcc32.exe dclIndyCore50.dpk /O..\Lib\Core\objs /DBCB /M /H /W /Z /JPHN
/N. /U. -$d-l-n+p+r-s-t-w-y- %2 %3 %4
if errorlevel 1 goto enderror
dcc32.exe dclIndyCore50.dpk /O..\Lib\Core\objs /DBCB /M /H /W /Z /N.
/U. -$d-l-n+p+r-s-t-w-y- %2 %3 %4
if errorlevel 1 goto enderror
ECHO ************* CREATING DCLCORE LIBRARY ***********
PAUSE
for %%f in (*.obj) do tlib.exe dclIndyCore50.lib +%%f /P64>nul
ECHO ************* CLEANING UP CORE FILES ***********
PAUSE
REM ***************************************************
REM Clean-up IndyCore60
REM ***************************************************
del *.dcu>nul
del *.pas>nul
del *.dpk>nul
del *.obj>nul
del *.inc>nul
del *.res>nul
del *.dcr>nul
del *.rsp>nul
REM ***************************************************
REM Compile Runtime Package IndyProtocols60
REM ***************************************************
ECHO ************* COPYING PROTOCOL FILES ***********
PAUSE
cd ..\Lib\Protocols
copy *.pas ..\..\C5
copy *.dpk ..\..\C5
copy *.obj ..\..\C5
copy *.inc ..\..\C5
copy *.res ..\..\C5
copy *.dcr ..\..\C5
copy *.rsp ..\..\C5
if not exist .\objs\*.* md .\objs>nul
cd ..\..\C5
ECHO ************* COMPILING PROTOCOLS ***********
PAUSE
ECHO ************* FIRST ***********
PAUSE
dcc32.exe IndyProtocols50.dpk /O..\Lib\Protocols\objs /DBCB /M /H /W
/JPHN /N. /U. -$d-l-n+p+r-s-t-w-y- %2 %3 %4
if errorlevel 1 goto enderror
ECHO ************* SECOND ***********
PAUSE
dcc32.exe IndyProtocols50.dpk /O..\Lib\Protocols\objs /DBCB /M /H /W /N.
/U. -$d-l-n+p+r-s-t-w-y- %2 %3 %4
if errorlevel 1 goto enderror
ECHO ************* DELETING THIRD PARTY FILES ***********
PAUSE
REM ***************************************************
REM Delete third-party .obj files
REM before compiling the .lib file
REM ***************************************************
del adler32.obj>nul
del compress.obj>nul
del crc32.obj>nul
del deflate.obj>nul
del example.obj>nul
del gzio.obj>nul
del infback.obj>nul
del inffast.obj>nul
del inflate.obj>nul
del inftrees.obj>nul
del minigzip.obj>nul
del trees.obj>nul
del uncompr.obj>nul
del zutil.obj>nul
ECHO ************* CREATING PROTOCOLS LIBRARY ***********
PAUSE
for %%f in (*.obj) do tlib.exe IndyProtocols50.lib +%%f /P64>nul
del *.obj>nul
REM ***************************************************
REM Compile Designtime Package dclIndyProtocols60
REM ***************************************************
ECHO ************* COMPILING dclPROTOCOLS ***********
PAUSE
dcc32.exe dclIndyProtocols50.dpk /O..\Lib\Protocols\objs /DBCB /M /H /W
/JPHN /N. /U. -$d-l-n+p+r-s-t-w-y- %2 %3 %4
if errorlevel 1 goto enderror
dcc32.exe dclIndyProtocols50.dpk /O..\Lib\Protocols\objs /DBCB /M /H /W
/N. /U. -$d-l-n+p+r-s-t-w-y- %2 %3 %4
if errorlevel 1 goto enderror
for %%f in (*.obj) do tlib.exe dclIndyProtocols50.lib +%%f /P64>nul
ECHO ************* DELETING PROTOCOLS FILES ***********
PAUSE
REM ***************************************************
REM Clean-up IndyProtocols60
REM ***************************************************
del *.dcu>nul
del *.pas>nul
del *.dpk>nul
del *.obj>nul
del *.inc>nul
del *.res>nul
del *.dcr>nul
del *.rsp>nul
cd ..\Lib
goto endok
:enderror
REM call ..\Lib\clean.bat
cd ..\Lib
echo Error!
:endok
pause
Thanks again
JLoz
 

Re:Re: Assertion Error while sending email

Quote
>This using my modified Fullc6.bat which by the way is just
>like the original one except that it uses tha packages for bd5

You should not have done that. The v6 packages should have worked fine.
I
have compiled Indy 10 for BCB 6 before.
I need to compile it for BCB5 for I do not have BCB6. The contents of the
fullc6.bat file as I modified it are in the previous email I just sent.
Quote


Gambit