Re: indy 10 raises exceptions in tidattachment (by calling OpenLoadStream) and b

Giganews Newsgroups
Subject: Re: indy 10 raises exceptions in tidattachment (by calling OpenLoadStream) and b
Posted by:  Remy Lebeau (TeamB) (gambit47.no.spam@no.spam.yahoo.com)
Date: Sun, 6 Jun 2004

"JN" <die…@gmx.de> wrote in message news:864E3163E89FE240die…@gmx.de...

> LSrcStream :=
TIdStreamVCL.Create(TIdAttachment(AMsg.MessageParts[i]).OpenLoadStream,
> False);"

OpenLoadStream() is abstract in TIdAttachment.  TIdAttachment is a base
class in Indy 10 now, unlike in Indy 9.  I assume that you added actual
TIdAttachment instances to your message prior to sending, instead of using
the new TIdAttachment descendants instead, such as TIdAttachmentFile or
TIdAttachmentMemory.  Both of those descendant classes implement
OpenLoadStream().

> in indy 9 we used

You can't use that code anymore, at least not that exact code.
TIdAttachment is an abstract base class in Indy 10.  I really wish Delphi
did not allow abstract classes to be instantiated directly, but it does.
That is a feature I like about C++ - it won't allow abstract classes to be
instantiated directly at all!  Anyhow, to mimic the old behavior from Indy
9, use TIdAttachmentFile instead of TIdAttachment directly.

Gambit

Replies

In response to

indy 10 raises exceptions in tidattachment (by calling OpenLoadStream) and by us posted by JN on Sat, 5 Jun 2004