Article View: borland.public.cppbuilder.internet.socket
Article #973Assertion Error while sending email
From: JLoz
Date: Mon, 30 Jul 2007 20:08
Date: Mon, 30 Jul 2007 20:08
112 lines
4325 bytes
4325 bytes
I compiled Indy 10.1.6 for BCB5 some time ago and got it to send emails
witouth problems.
I have two development machines, so I copied all the bpl, lib and hpp files
and installed indy in the other one.
In the previous application I put all the indy components in a data module
and I copied this in another application to which I wanted to add the option
of sending automated emails.
Now I get the folliwing error.
Assertion failed:
(C:\ProgramFiles\Borland\CBuilder5\Components\Indy10\Lib\System\IdGlobal.pas,
line 2528)
There is a function in that line for my IdGlobal.pas file, which is:
function IndyLength(const ABuffer: String; const ALength: Integer = -1;
const AIndex: Integer = 1): Integer;
begin
Assert(AIndex >= 1); <<<<------------------ Line 2528
if ALength < 0 then begin
Result := Length(ABuffer)-AIndex+1;
end else begin
Result := Min(Length(ABuffer)-AIndex+1, ALength);
end;
end;
I do not understand why this works on one application and does not on
another one.
This type of problem was reported by Markus Donath on 5/23/07, and it looks
we both had similar problems compiling this as my compiler crashes doing the
IdZLib.pas file.
I compiled Indy by modifying FULLC6.bat and I had to generate a header file
containing the some extructures not included in BCB5. The file looks as
follows:
---------------------------------------------------------------------------------------
#ifndef __IDMISSINGSTRUCTS_FORBCB5_H__
#define __IDMISSINGSTRUCTS_FORBCB5_H__
//***********************************************************
// THIS WAS ADDED IN ORDER TO USE INDYSOCKETS 10 AS
// THESE STRUCTURES ARE NOT INCLUDED IN BCB5
//
//***********************************************************
#define _SS_MAXSIZE 128 // Maximum size.
#define _SS_ALIGNSIZE (sizeof(__int64)) // Desired alignment.
/*
* Definitions used for sockaddr_storage structure paddings design.
*/
#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof (short))
#define _SS_PAD2SIZE (_SS_MAXSIZE - (sizeof (short) + _SS_PAD1SIZE +
_SS_ALIGNSIZE))
typedef struct sockaddr_storage {
short ss_family;
char __ss_pad1[_SS_PAD1SIZE];
__int64 __ss_align;
char __ss_pad2[_SS_PAD2SIZE];
} SOCKADDR_STORAGE, *PSOCKADDR_STORAGE;
typedef struct _WSAMSG {
LPSOCKADDR name;
INT namelen;
LPWSABUF lpBuffers;
DWORD dwBufferCount;
WSABUF Control;
DWORD dwFlags;
} WSAMSG, *PWSAMSG, *LPWSAMSG;
typedef struct _WSACMSGHDR {
SIZE_T cmsg_len;
INT cmsg_level;
INT cmsg_type;
} WSACMSGHDR, *PWSACMSGHDR;
typedef WSACMSGHDR CMSGHDR, *PCMSGHDR;
typedef struct in6_addr {
union {
u_char Byte[16];
u_short Word[8];
} u;
} IN6_ADDR, *PIN6_ADDR, FAR *LPIN6_ADDR;
typedef struct ipv6_mreq {
struct in6_addr ipv6mr_multiaddr;
unsigned int ipv6mr_interface;
} IPV6_MREQ, *PIPV6_MREQ;
#endif
---------------------------------------------------------------------------------------
After doing that Indy worked fine in the test application I wrote to send
emails.
Is this a known bug? Does anyone has had this problem? if so, what is the
workaround?
Thanks beforehand
JLoz
Technical Details
Message-ID:
<46ae4529$1@newsgroups.borland.com>Path:
arc1-ca.pugleaf.net!g2news2.google.com!news1.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx01.iad01.newshosting.com!newshosting.com!newsfeed.icl.net!newsfeed.fjserv.net!colt.net!feeder.news-service.com!newsfeed.freenet.de!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Thread: 11508e,da4e10289ba23828,start X-Google-Attributes: gid11508e,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Reply-To: "JLoz" <jfsierra@excite.com> From: "JLoz" <jfsierra@excite.com> Newsgroups: borland.public.cppbuilder.internet.socket Subject: Assertion Error while sending email Date: Mon, 30 Jul 2007 16:08:10 -0400 Lines: 114 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: 63.163.143.187 Message-ID: <46ae4529$1@newsgroups.borland.com> X-Trace: newsgroups.borland.com 1185826089 63.163.143.187 (30 Jul 2007 13:08:09 -0700) Path: arc1-ca.pugleaf.net!g2news2.google.com!news1.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx01.iad01.newshosting.com!newshosting.com!newsfeed.icl.net!newsfeed.fjserv.net!colt.net!feeder.news-service.com!newsfeed.freenet.de!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail