🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Assertion Error while sending email

#974
From: JLoz
Date: Mon, 30 Jul 2007 22:05
134 lines
5019 bytes
I stepped through the code and put some watches on several properties of the 
IdMessage1 and I discovered this:

when I put a watch on the following property

IdMessage1->Recipients->EMailAddresses

I get this:

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

I do not see that on the application that runs and I do not know what could 
be so different between the two to make one fail.


I appreciate any help.

"JLoz" <jfsierra@excite.com> wrote in message 
news:46ae4529$1@newsgroups.borland.com...
>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: <46ae60b9$1@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news2.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail
References: <46ae4529$1@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 11508e,da4e10289ba23828
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
References: <46ae4529$1@newsgroups.borland.com>
Subject: Re: Assertion Error while sending email
Date: Mon, 30 Jul 2007 18:05:46 -0400
Lines: 136
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; Response
NNTP-Posting-Host: 63.163.143.187
Message-ID: <46ae60b9$1@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1185833145 63.163.143.187 (30 Jul 2007 15:05:45 -0700)
Path: arc1-ca.pugleaf.net!g2news2.google.com!news2.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail