🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: borland.public.cppbuilder.internet.socket
14 messages
14 total messages Started by Skaarak Fri, 01 Sep 2006 16:58
Go from Indy 9 to Indy 8
#1989
Author: Skaarak
Date: Fri, 01 Sep 2006 16:58
8 lines
1212 bytes
I am looking at going from Indy 9 to Indy 8, since 9
did nothing but break the stuff that was working in 8, and
the benefits of 9 aren't working either.

Any suggestions on how to go about accomplishing this?

-Cory
BCB 6 (patched) 
Re: Go from Indy 9 to Indy 8
#1993
Author: Remy Lebeau (TeamB)
Date: Fri, 01 Sep 2006 20:49
18 lines
1253 bytes
"Skaarak" <skaarak@NOakamailSPAM.com> wrote in message
news:44f86696$1@newsgroups.borland.com...

> I am looking at going from Indy 9 to Indy 8

Why go backwards?

> since 9 did nothing but break the stuff that was working in 8

Then you are likely not using 9 correctly.

> the benefits of 9 aren't working either.

Such as?


Gambit
Re: Go from Indy 9 to Indy 8
#1994
Author: Skaarak
Date: Fri, 01 Sep 2006 22:05
35 lines
2237 bytes
"Remy Lebeau (TeamB)" <no.spam@no.spam.com> wrote in message 
news:44f89ea5$1@newsgroups.borland.com...
> "Skaarak" <skaarak@NOakamailSPAM.com> wrote in message
> news:44f86696$1@newsgroups.borland.com...
>
>> I am looking at going from Indy 9 to Indy 8
> Why go backwards?

Because I cannot get Indy 9 to work at all, and at least 8 would do the
little stuff.

>> since 9 did nothing but break the stuff that was working in 8
> Then you are likely not using 9 correctly.

Probably not, but I've chatted on here, gone slogging through news groups
and searched high and low for the answers to what I'm doing wrong, but
cannot find out what it is.  So while this is very likely my problem, to me,
Indy 9 is worthless if I cannot get it to work.

>> the benefits of 9 aren't working either.
> Such as?

I really only tried Indy 9 to get a MD5 hash, and now I am regretting that
I ever tried.  Really, I'm at the end of my rope with Indy and I'm with in
inches of swearing it off for the rest of my life.

Even starting a Indy 9 project from scratch it still has that same 
"Connection
exits gracefully" crap.

Any suggestions as to where I could post the entire project?  I don't think 
its
my project per say, but I can show exactly where it fails.

-Cory
Re: Go from Indy 9 to Indy 8
#1996
Author: Remy Lebeau (TeamB)
Date: Fri, 01 Sep 2006 22:45
25 lines
1721 bytes
"Skaarak" <skaarak@NOakamailSPAM.com> wrote in message
news:44f8ae89$1@newsgroups.borland.com...

> Because I cannot get Indy 9 to work at all

Why not?  You need to be more specific.  Indy 9 works fine for me.

> So while this is very likely my problem, to me, Indy 9 is worthless
> if I cannot get it to work.

Then you need to explain what exactly is not working for you.

> I really only tried Indy 9 to get a MD5 hash, and now I am regretting
> that I ever tried.

Why?

> Even starting a Indy 9 project from scratch it still has that
> same "Connection exits gracefully" crap.

Are you using the latest 9.0.50 snapshot?  I have not run into that problem.


Gambit
Re: Go from Indy 9 to Indy 8
#2007
Author: Skaarak
Date: Tue, 05 Sep 2006 16:28
126 lines
5358 bytes
"Remy Lebeau (TeamB)" <no.spam@no.spam.com> wrote in message 
news:44f8b9ba@newsgroups.borland.com...
> "Skaarak" <skaarak@NOakamailSPAM.com> wrote in message
> news:44f8ae89$1@newsgroups.borland.com...
>
>> Because I cannot get Indy 9 to work at all
> Why not?  You need to be more specific.  Indy 9 works fine for me.

I wish I knew.  Having been in here a few times trying to fix it.  Wish
it went in as easily as the rest of the installs.

>> So while this is very likely my problem, to me, Indy 9 is worthless
>> if I cannot get it to work.
> Then you need to explain what exactly is not working for you.

As per my post about a month ago:
Indy 9 TIdFTP EIdConnClosedGracefully etc...
It is still throwing that disconnect.
I don't see how it the server could be throwing it since it never has
before and lets me in via other means.

Here's the code again:

//---------------------------------------------------------------------------
void __fastcall TForm1::ConnectClick(TObject *Sender)
{
    int i;
    TStringList *names;
    if (!FTP2->Connected()) {
        FTP2->Host = Server->Text;
        FTP2->Username = UserName->Text;
        FTP2->Connect(true, 5000);

        try {
            if (FTP2->Connected()) {
                names = new TStringList ();
                try {
                    FTP2->ChangeDir("AddOns");
                } catch(const Exception &) {
                    return;
                }
                ParseDirectory (names, NULL, NULL, true);
                RemoteDir->Items = names;
                delete names;
            }
        } catch(const Exception &) {
            return;
        }
    }
}

//---------------------------------------------------------------------------
void __fastcall TForm1::ParseDirectory(TStringList *name, TStringList 
*directory, TStringList *size, bool dironly)
{
    int i;
    bool dir;
    AnsiString temp;
    RawDir->Clear();

    try {
        FTP2->List(RawDir->Items,"*", true);
    } catch(const Exception &) {
        return;    // Every time w/o fail this Exception is thrown!
    }

    for (i=0; i<RawDir->Count; i++) {
        dir = false;
        temp = RawDir->Items->Strings[i].SubString(0,10);    //directory //0 
based I think (Index , COunt)
        if (temp.c_str()[0] == 'd' || temp.c_str()[0] == 'D') {
            dir = true;
        }
        if (directory != NULL) {
            if (dir || (!dironly)) {
                directory->Add(temp);
            }
        }
        temp = RawDir->Items->Strings[i].SubString(11,16);    //Unknown
        temp = RawDir->Items->Strings[i].SubString(27,16);    //Size
        if (size != NULL) {
            if (dir || (!dironly)) {
                size->Add(temp);
            }
        }
        temp = RawDir->Items->Strings[i].SubString(44,12);    //Date
        temp = RawDir->Items->Strings[i].SubString(57,99);    //Name
        if (name != NULL) {
            if (dir || (!dironly)) {
                name->Add(temp);
            }
        }
    }
}

************************************************************
The exception on the "FTP2->List(RawDir->Items,"*", true);" is thrown
every time (the closed gracefully one when I let it through) and the program
grinds to a screeching halt.
Thinking that maybe it was because this was because I went from Indy 8 to 9
and had a few pieces left over, I created a projecte from scratch and the
same error in the same place occured.
This same code worked in 8, but that FTP2-> List seems to be bugged.  I did
put in your TCP fix which allowed it to throw an exception (instead of 
stalling)
but I'm still stuck.


>> I really only tried Indy 9 to get a MD5 hash, and now I am regretting
>> that I ever tried.
> Why?

Because I could really use a nice FTP interface and Indy9 isn't working
for me, I can't seem to get it working (though I'll keep trying) and there 
is
no way (easy way) to go back to Indy 8 where I had it up and working
really nice.

>> Even starting a Indy 9 project from scratch it still has that
>> same "Connection exits gracefully" crap.
> Are you using the latest 9.0.50 snapshot?  I have not run into that 
> problem.

Yes, Indy 9.0.50 snapshot w/ 9.0.17 RSP I think.

-Cory 
Re: Go from Indy 9 to Indy 8
#2009
Author: Remy Lebeau (TeamB)
Date: Tue, 05 Sep 2006 18:09
75 lines
3541 bytes
"Skaarak" <skaarak@NOakamailSPAM.com> wrote in message
news:44fda587$1@newsgroups.borland.com...

> I wish I knew.

Well, you are obviously trying to do something, and something is not working
correctly for you.  So what is that something that you are seeing not work
for you?

> As per my post about a month ago:
> Indy 9 TIdFTP EIdConnClosedGracefully etc...
> It is still throwing that disconnect.

As I would have explained to you earlier, that can only occur if the server
is actually closing the connection.

Incidently, did you try upgrading to the latest snapshot yet?

>         try {
>             if (FTP2->Connected()) {

You do not need to call Connected() if Connect() returns without throwing an
exception.

>                 try {
>                     FTP2->ChangeDir("AddOns");
>                 } catch(const Exception &) {
>                     return;
>                 }

You don't need an inner try..catch block around the call to ChangeDir(),
since you already have an outer try..catch that would be able to handle the
same exception.

>                 delete names;

You are not freeing the TStringList if an exception occurs.  That is a
memory leak.

In fact, you do not even need the TStringList at all.  Pass the
RemoteDir->Items to ParseDirectory() directly instead.

>     try {
>         FTP2->List(RawDir->Items,"*", true);
>     } catch(const Exception &) {
>         return;    // Every time w/o fail this Exception is thrown!
>     }

The FTP protocol opens a second connection to transfer directory listing
data.  The only way you could be getting an EIdConnClosedGracefully
exception in your own code is if the exception is coming from that second
connection and Indy is not catching it properly.  Which, again, goes back to
my question of whether you are actually using the latest snapshot version or
not.

>         temp = RawDir->Items->Strings[i].SubString(0,10);    //directory
//0

AnsiString is 1-based.  0 is an invalid index.

>         if (temp.c_str()[0] == 'd' || temp.c_str()[0] == 'D') {

You should be using AnsiString's '[]' operator instead.  You also need to
test for an empty string before accessing its characters:

    if (!temp.IsEmpty() && ((temp[1] == 'd') || (temp[1] == 'D'))

> Yes, Indy 9.0.50 snapshot w/ 9.0.17 RSP I think.

When exactly did you download the snapshot, though?  All of the latest
snapshot releases have been 9.0.50 for awhile now.


Gambit
Re: Go from Indy 9 to Indy 8
#2011
Author: Skaarak
Date: Tue, 05 Sep 2006 21:30
46 lines
2725 bytes
"Remy Lebeau (TeamB)" <no.spam@no.spam.com> wrote in message 
news:44fdbe50$1@newsgroups.borland.com...
> "Skaarak" <skaarak@NOakamailSPAM.com> wrote in message
> news:44fda587$1@newsgroups.borland.com...
>
>> I wish I knew.
> Well, you are obviously trying to do something, and something is not 
> working
> correctly for you.  So what is that something that you are seeing not work
> for you?
>> As per my post about a month ago:
>> Indy 9 TIdFTP EIdConnClosedGracefully etc...
>> It is still throwing that disconnect.
> As I would have explained to you earlier, that can only occur if the 
> server
> is actually closing the connection.

No idea why the server would be closing the connection, doesn't make sense.

> Incidently, did you try upgrading to the latest snapshot yet?

I redownloaded the latest snapshot last Friday. My notes say its the 8/31/06
snapshot.

>>     try {
>>         FTP2->List(RawDir->Items,"*", true);
>>     } catch(const Exception &) {
>>         return;    // Every time w/o fail this Exception is thrown!
>>     }
>
> The FTP protocol opens a second connection to transfer directory listing
> data.  The only way you could be getting an EIdConnClosedGracefully
> exception in your own code is if the exception is coming from that second
> connection and Indy is not catching it properly.  Which, again, goes back 
> to
> my question of whether you are actually using the latest snapshot version 
> or
> not.
>
>
> When exactly did you download the snapshot, though?  All of the latest
> snapshot releases have been 9.0.50 for awhile now.

8/31/06

-Cory 
Re: Go from Indy 9 to Indy 8
#2013
Author: Joe Pasquariello
Date: Sat, 09 Sep 2006 20:01
97 lines
4159 bytes
Hi Remy Lebeau,

I'm using Indy9 with C++ Builder, but haven't done too much with it yet
except some very simple Tcp Client/Server stuff. I chose Indy9 in the
BDS2006 installation. Can you please point me to instructions for
downloading and updating Indy9 to the latest development snapshot? It sounds
like that is something I should do.

Thanks,

Joe

"Remy Lebeau (TeamB)" <no.spam@no.spam.com> wrote in message
news:44fdbe50$1@newsgroups.borland.com...
>
> "Skaarak" <skaarak@NOakamailSPAM.com> wrote in message
> news:44fda587$1@newsgroups.borland.com...
>
> > I wish I knew.
>
> Well, you are obviously trying to do something, and something is not
working
> correctly for you.  So what is that something that you are seeing not work
> for you?
>
> > As per my post about a month ago:
> > Indy 9 TIdFTP EIdConnClosedGracefully etc...
> > It is still throwing that disconnect.
>
> As I would have explained to you earlier, that can only occur if the
server
> is actually closing the connection.
>
> Incidently, did you try upgrading to the latest snapshot yet?
>
> >         try {
> >             if (FTP2->Connected()) {
>
> You do not need to call Connected() if Connect() returns without throwing
an
> exception.
>
> >                 try {
> >                     FTP2->ChangeDir("AddOns");
> >                 } catch(const Exception &) {
> >                     return;
> >                 }
>
> You don't need an inner try..catch block around the call to ChangeDir(),
> since you already have an outer try..catch that would be able to handle
the
> same exception.
>
> >                 delete names;
>
> You are not freeing the TStringList if an exception occurs.  That is a
> memory leak.
>
> In fact, you do not even need the TStringList at all.  Pass the
> RemoteDir->Items to ParseDirectory() directly instead.
>
> >     try {
> >         FTP2->List(RawDir->Items,"*", true);
> >     } catch(const Exception &) {
> >         return;    // Every time w/o fail this Exception is thrown!
> >     }
>
> The FTP protocol opens a second connection to transfer directory listing
> data.  The only way you could be getting an EIdConnClosedGracefully
> exception in your own code is if the exception is coming from that second
> connection and Indy is not catching it properly.  Which, again, goes back
to
> my question of whether you are actually using the latest snapshot version
or
> not.
>
> >         temp = RawDir->Items->Strings[i].SubString(0,10);    //directory
> //0
>
> AnsiString is 1-based.  0 is an invalid index.
>
> >         if (temp.c_str()[0] == 'd' || temp.c_str()[0] == 'D') {
>
> You should be using AnsiString's '[]' operator instead.  You also need to
> test for an empty string before accessing its characters:
>
>     if (!temp.IsEmpty() && ((temp[1] == 'd') || (temp[1] == 'D'))
>
> > Yes, Indy 9.0.50 snapshot w/ 9.0.17 RSP I think.
>
> When exactly did you download the snapshot, though?  All of the latest
> snapshot releases have been 9.0.50 for awhile now.
>
>
> Gambit
>
>
Re: Go from Indy 9 to Indy 8
#2014
Author: Remy Lebeau (TeamB)
Date: Sat, 09 Sep 2006 20:21
11 lines
1410 bytes
"Joe Pasquariello" <joep@fenway.com> wrote in message
news:45031d8d@newsgroups.borland.com...

> Can you please point me to instructions for downloading and
> updating Indy9 to the latest development snapshot?

You can download the snapshot from Indy's website.  Simply follow the links.


Gambit
Re: Go from Indy 9 to Indy 8
#2015
Author: Joe Pasquariello
Date: Sat, 09 Sep 2006 20:43
29 lines
2107 bytes
Hi Remy,

Thanks. Do I have to uninstall something, or will I just be writing new
files over the existing ones? I know you think this information is all there
on the Indy website, but the reason people keep asking questions like this
is because the instructions (and the entire Indy website) is very unclear.
Everybody wants to use Indy, we just don't want it to be so difficult, and
we don't all want to have to figure out the same problems over and over. I
would be very, very glad to pay for clear instructions and documentation and
example programs.

Joe

"Remy Lebeau (TeamB)" <no.spam@no.spam.com> wrote in message
news:450322fd$1@newsgroups.borland.com...
>
> "Joe Pasquariello" <joep@fenway.com> wrote in message
> news:45031d8d@newsgroups.borland.com...
>
> > Can you please point me to instructions for downloading and
> > updating Indy9 to the latest development snapshot?
>
> You can download the snapshot from Indy's website.  Simply follow the
links.
>
>
> Gambit
>
>
Re: Go from Indy 9 to Indy 8
#2018
Author: Remy Lebeau (TeamB)
Date: Mon, 11 Sep 2006 17:08
30 lines
2156 bytes
"Joe Pasquariello" <joep@fenway.com> wrote in message
news:4503277b$1@newsgroups.borland.com...

> Do I have to uninstall something

Yes.  All of the old Indy files.  Or else you can have comflicts during
compiling.

> I know you think this information is all there on the Indy website

It is.  Have you read the Knowledge Base yet?

> Everybody wants to use Indy, we just don't want it to be so difficult,
> and we don't all want to have to figure out the same problems over and
over.

Then I suggest they get involved with the project.  Indy is an open-source
project run by volunteers who don't have time or resources to do every
little thing that everyone wants.  If they want something, then they should
help make it for others to use.

> I would be very, very glad to pay for clear instructions and documentation
> and example programs.

There is a for-pay support group available -
http://www.atozed.com/indy/experts/.


Gambit
Re: Go from Indy 9 to Indy 8
#1928
Author: Joe Pasquariello
Date: Wed, 13 Sep 2006 21:42
54 lines
3096 bytes
Hi Remy,

Yes, I have read "How do install Indy in C++ Builder". Do the instructions
for BCB6 apply to BDS2006? For example, should I run FULLC6.BAT? There
doesn't seem to be anything in the Indy9 ZIP files specific to BDS2006.

In the "What do I do to get Indy to work with C++ Builder 6 item", there is
a discussion about BPK files, and the Knowledge Base seems to imply that
it's necessary to create BPK files, but it doesn't really say how. It does
say "we know of two vendors that do this successfully". Do I need to somehow
create BPK files?

If I ever get this figured out (with your help!), I will try to create a
step-by-step installation guide that addresses the things that have not been
obvious to me.

Joe

"Remy Lebeau (TeamB)" <no.spam@no.spam.com> wrote in message
news:450598b9@newsgroups.borland.com...
>
> "Joe Pasquariello" <joep@fenway.com> wrote in message
> news:4503277b$1@newsgroups.borland.com...
>
> > Do I have to uninstall something
>
> Yes.  All of the old Indy files.  Or else you can have comflicts during
> compiling.
>
> > I know you think this information is all there on the Indy website
>
> It is.  Have you read the Knowledge Base yet?
>
> > Everybody wants to use Indy, we just don't want it to be so difficult,
> > and we don't all want to have to figure out the same problems over and
> over.
>
> Then I suggest they get involved with the project.  Indy is an open-source
> project run by volunteers who don't have time or resources to do every
> little thing that everyone wants.  If they want something, then they
should
> help make it for others to use.
>
> > I would be very, very glad to pay for clear instructions and
documentation
> > and example programs.
>
> There is a for-pay support group available -
> http://www.atozed.com/indy/experts/.
>
>
> Gambit
>
>
Re: Go from Indy 9 to Indy 8
#1929
Author: Remy Lebeau (TeamB)
Date: Wed, 13 Sep 2006 22:05
38 lines
2428 bytes
"Joe Pasquariello" <joep@fenway.com> wrote in message
news:45087b66$2@newsgroups.borland.com...

> Yes, I have read "How do install Indy in C++ Builder".
> Do the instructions for BCB6 apply to BDS2006?

The article was written before BDS ever existed.  But the jist of it still
applies.

> For example, should I run FULLC6.BAT?

No.  That file is written specifically for BCB 6 only.  There are no BDS
batch files available yet.

> There doesn't seem to be anything in the Indy9 ZIP files specific to
BDS2006.

There is nothing specifically for BDS yet, no.

> In the "What do I do to get Indy to work with C++ Builder 6 item",
> there is a discussion about BPK files

Only as far as to say that Indy does not use BPKs.

> the Knowledge Base seems to imply that it's necessary to create BPK files

It is not.  BCB ships with a Delphi command-line compiler, which can compile
DPK files (Delphi's equivilent of BPK files).  The command-line compiler is
what the FULLC#.BAT files actually run.

> It does say "we know of two vendors that do this successfully". Do
> I need to somehow create BPK files?

No.


Gambit
Re: Go from Indy 9 to Indy 8
#1930
Author: Joe Pasquariello
Date: Thu, 14 Sep 2006 00:17
54 lines
2833 bytes
Hi Remy,

Okay, but since there is no batch file for BDS, does that mean I need to
figure out how to compile the Indy source without one? I've never used the
borland command-line compiler.

Joe


"Remy Lebeau (TeamB)" <no.spam@no.spam.com> wrote in message
news:450882a2$1@newsgroups.borland.com...
>
> "Joe Pasquariello" <joep@fenway.com> wrote in message
> news:45087b66$2@newsgroups.borland.com...
>
> > Yes, I have read "How do install Indy in C++ Builder".
> > Do the instructions for BCB6 apply to BDS2006?
>
> The article was written before BDS ever existed.  But the jist of it still
> applies.
>
> > For example, should I run FULLC6.BAT?
>
> No.  That file is written specifically for BCB 6 only.  There are no BDS
> batch files available yet.
>
> > There doesn't seem to be anything in the Indy9 ZIP files specific to
> BDS2006.
>
> There is nothing specifically for BDS yet, no.
>
> > In the "What do I do to get Indy to work with C++ Builder 6 item",
> > there is a discussion about BPK files
>
> Only as far as to say that Indy does not use BPKs.
>
> > the Knowledge Base seems to imply that it's necessary to create BPK
files
>
> It is not.  BCB ships with a Delphi command-line compiler, which can
compile
> DPK files (Delphi's equivilent of BPK files).  The command-line compiler
is
> what the FULLC#.BAT files actually run.
>
> > It does say "we know of two vendors that do this successfully". Do
> > I need to somehow create BPK files?
>
> No.
>
>
> Gambit
>
>
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads