I am comparing TClientSocket with this one,
where TClientSocket only has Port.
Thanks,
Ashok
See the help file.
> What is the use ?
> Does it have to be initialize or can it be blank ?
You can leave it blank.
--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"
Qualified help FAST with Indy Experts Support
from the experts themselves:
http://www.atozedsoftware.com/indy/experts/support.html
ELKNews - Get your free copy at http://www.atozedsoftware.com
What are you implying with that link Robert? Do you not find the Indy
documentation and FAQ helpful?
David
I'm saying it's worse than stuff written by a programmer; it's written by a
I guess your next defense will be that Indy ships with Delphi, so it must be
good. Well, QuickReport shipped with Delphi, and so did Delphi's
predecessor sockets offering.
11 years is a long time to wait for commercial-quality documentation....
I appreciate Chad's willingness to help, but I feel that he's more likely to
point out someone's ignorance (DUH! That's why they posted a QUESTION!) than
provide any substantial guidance/assistance.
Help File of Indy about BoundPort in TisTCPClient:
"BoundPort is an Integer property that specifies the local port number
to be used for the client connection. BoundPort is used in Connect to
indicate the preferred port number for the
IOHandlerSocket.ConnectClient method. BoundPortMin and BoundPortMax
indicate the range of port numbers available for selection when
BoundPort contains the default value BoundPortDefault."
This explains what the property does, but I strongly suspect it won't
help very much in this case, because you probably won't understand it
better unless you know that a socket actually has a Local Port as well
as a Remote Port.
So, for the original question:
A client socket has 2 ports. The Remote Port is the one you are
connecting to (i.e. the Port property you set in TClientSocket).
Furthermore, a socket has a Local Port that is meaningless for a
client socket, but nevertheless is has one (just like the Remote Port
is menaingless for a server socket). TClientSocket doesn't offer any
way to change this port, but Indy offers you to specify a special port
or even a range of ports to be used as the Local Port.
Chances are however, that you don't need to change the Local Port,
since it really doesn't matter for a client.
Andy
Stop the [censored] war!
I dont work on the help file at all. Don siders does. But I know the basics
are in there, and Im pretty sure BoundPort is in there. Google would find
answers too.
But for some people, its easier to complain than spend a few minutes to find
their own answers, or better yet, join the effort and contribute.
If you want COMMERCIAL support, purchase Indy Experts and pay a commercial
price.
--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"
Want more Indy stuff? Try the Atozed Indy Portal at
http://www.atozedsoftware.com/
* More Free Demos
* Free Articles
* Extra Support
Well to be honest, I get sick of people asking the same questions that have
already been answered and feel tehy are too "Special" to use google or look
in the docs first.
I dont answer every question here, or even in detail. I dont work for your
company and you've bought no copy of Indy from me. Im under not commercial or
moral obligation to answer anything you post here, or for that matter even
acknowledge your post.
I get dozens of emails a day asking for support. I only answer on the
newsgroups. In an effort to assist more people I reply with pointers when I
can. Better to teach a man to fish than to turn him into a welfare junkie. If
a person cannot spend a few minutes looking in the docs or Google, but
expects me to do it for them for free....
--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"
Need extra help with an Indy problem?
--
Regards
Illya Kysil, software developer
Delphi/C/C++/C#/Java/Forth/Assembler
If it is NOT SOURCE, it is NOT SOFTWARE. (C) NASA
Its not meaningless. Some protocols or firewalls require that certain local
ports be used.
--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"
Got Indy? Got the book?
http://www.atozedsoftware.com/indy/book/
Exactly. And if he thinks the above docs are "useless computer generated",
I'd like to see him write a generator which can produce what is in the Indy
docs from pure code.
I didn't complain about the quality of Indy's docs.
But in this particular case it was probably not the best answer to
point to the Indy docs since it simply doesn't explain what BoundPort
actually means.
I don't expect the docs to explain such things but it's simply not
heplful to read them if you like those information.
Andy
Agreed.
Andy
Sorry, I was not referring to your post, but the original poster:
"I'm saying it's worse than stuff written by a programmer; it's written by a
computer program. Lots of data, little information, virtually no knowledge
or wisdom imparted."
--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"
Want more Indy stuff? Try the Atozed Indy Portal at
http://www.atozedsoftware.com/
* More Free Demos
* Free Articles
* Extra Support
ELKNews - Get your free copy at http://www.atozedsoftware.com
Well, if Indy's going to ship as part of Delphi, I expect commercial-quality
documentation, examples, and support WITHOUT PAYING EXTRA. I looked at the
"Indy in Depth" $66 option and as far as I can tell, at this stage it's
little more than an "Indy Help Manual Outline in Depth."
And, Chad, if you don't want to give free support on this forum, DON'T. But
it would be helpful if you'd quit belittling people for needing help/not
understanding/etc. This is, after all, a HELP forum, not a VENTING forum.
Right. And that's not in the Indy help file, is it?
It is clearer when it is called "Port" or "Local Port" and "Remote Port".
I can ask question here, and I do not expect to get the answer every time.
Thanks,
Ashok
"Robert Ruff" <rober...@desktop-assistance.com> wrote in message
news:3e9ea85f$1...@newsgroups.borland.com...
Exactly.
Not to Ashok:
Here's a fun way to undersatnd one of my points in this thread: run a Google
search for Chad Hower "not understand". You'll understand.
One thing to remember is the developer has a difficult time
comprehending how users can not see the "obvious". I have had the same
experience. It is amazing how a user can be so stupid as to ask such a
thing. But when you think about it, you realize that your help
files/examples are incomplete.
A typical example was my question on attaching an IdLogFile to a TCP
server. It may be obvious to some folks but was not to me. My $66.00
Indy in Depth was useless here. I had to ask Chad several times and
his answers were never a direct-Step 1,2,3 or see the xyz demo.
Answers were short and still left me to figure it out myself though it
pointed me in a direction. I eventually did figure it out but it would
have been nice to see an example. That is one BIG flaw. Every problem
I have run into would have ben easily answered by a good demo and I
would never have even had to ask a question here.
Why can't there be one nice big complicated demo that shows
everything? Of course someone has to do it but since Indy is included
with Delphi, that cash source should provide for additions that were
not available before.
Im seriously considering exiting this forum all together. I volunteer here in
addition to the hours on Indy to provide "pointers" and tips. But its quickly
not becoming worth my time at all to have to put up with people who do not
understand the peer support concept.
--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"
Qualified help FAST with Indy Experts Support
from the experts themselves:
http://www.atozedsoftware.com/indy/experts/support.html
ELKNews - Get your free copy at http://www.atozedsoftware.com
This is not a typical question. If you look in Google, you will see very
few requests for it. It would be nice if there was a demo for EVERY
situation, but that just is not possible.
> Indy in Depth was useless here. I had to ask Chad several times and
> his answers were never a direct-Step 1,2,3 or see the xyz demo.
No, again. The time I spend in here is volunteer. And you might say "cant
you spend 2 minutes on my question?" NO. If I spent 2 minutes on every
question * 100, there goes over 3 hours of my day. I have a job just like
you do, and I dont get paid to answer the questions here.
> Answers were short and still left me to figure it out myself though it
> pointed me in a direction. I eventually did figure it out but it would
THAT IS EXACTLY what I try to do. POINT people in the right direction. I
dont see how its preferred that your questions should be just ignored.
> have been nice to see an example. That is one BIG flaw. Every problem
> I have run into would have ben easily answered by a good demo and I
> would never have even had to ask a question here.
Im sure every problem I run into could be served by a good demo too, but
not every problem I run into is common or useful to a large number of other
users.
> Why can't there be one nice big complicated demo that shows
> everything? Of course someone has to do it but since Indy is included
Do you have ANY idea how big Indy is? Indy is bigger than all of CLX! Are
there even Delphi demos that demonstrate everything Delphi does? No.
--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"
Is Indy useful to you? Send a postcard please!
http://www.hower.org/kudzu/indypost.html
Robert,
Im extremely sorry that I have not answered all of your questions in detail.
However if it is a critical task, I am available for consultation on an
hourly basis. What I have offered here has been ABSOLUTELY FREE and comes
with a money back guarantee!
If I were to consult you, and required several hours of your time, I am sure
your employer would see it fit to bill me. And while YOUR question may not
have required hours of my time, COLLECTIVELY questions posted to me each day
WOULD consume hours if I spent the "proper" time on them.
I'll tell you Im seriously consdering just abandoning this forum all
together, because it just not worth all the whiners who drop mail to me about
how their app is so important and that I should write it for them because
they cannot figure it out.
> But it would be helpful if you'd quit belittling people for needing
> help/not understanding/etc. This is, after all, a HELP forum, not a
> VENTING forum.
I did not belittle you. I suggested that you should check Google and the
docs, and this was also after you turned condescending.
--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"
Want to keep up to date with Indy?
Join Indy News - it free!
http://www.atozedsoftware.com/indy/news/
1) Let me ask you this. What support do you get from Borland for Delphi?
2) You bought Delphi from them which includes Indy. Why dont you call them
for support?
I wasn't talking about me.
Bas
"Chad Z. Hower aka Kudzu" <cp...@hower.org> wrote in message
news:Xns936089E...@127.0.0.1...
Buy it? I expect him to GIVE it away and SUPPORT every question asked about
it, while on his employers time.
Thats what he expects of us.
--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"
Need extra help with an Indy problem?
http://www.atozedsoftware.com/indy/experts/support.html
Bas
"Robert Ruff" <rober...@desktop-assistance.com> wrote in message
news:3e9ecae9$4...@newsgroups.borland.com...
| I guess if you are developing multi-user INTERNET game in Delphi, you need
| to use "BoundPort".
|
hmm, you could use it, but i don't think it is needed
Bas
>2 properties
>I understand why we need Port,
>but why BoundPort ?
That is for a few special cases where a client has connect to a server
from a specific port (or range of ports). In Indy 9.0, we have the
RSH and LPR clients where this is required.
Most servers are not picky about which ports the client connects from
and you should not use this property to bind the client to specific
port unless there is a compelling reason to do. I say this because a
port can go into a FD_WAIT state when a connection is closed to give
the stack time to clean-up the connection. If you reuse that port
with a wildcard (0.0.0.0 or by leaving BoundIP blank), you can bind to
the port but if you attempt to make a connection, the connection will
fail with a port in use error (this is documented behavior in Winsock)
and in addition, using a specific port could cause a conflict with a
server that may need to use that same port (you can not have two
things using the same IP address and the same port number). In
addition, on systems such as Windows NT 4.0, Windows 2000, Linux, and
possibly Windows XP in order to bind to a specific port in the
reserved range (1-1023), you must have administrative privilleges
(that's how those systems are designed).
>What is the use ?
>Does it have to be initialize or can it be blank ?
>
Most of the time, it should be left blank.
HTH.
J. Peter Mugaas - Chairperson, Distribution Team, Indy Pit Crew
Internet Direct (Indy) Website - http://www.nevrona.com/Indy
Personal Home Page - http://www.wvnet.edu/~oma00215
If I want to do business with you, I will contact you. Otherwise, do not contact me.
>"David" <da...@dontspamme.com> wrote in news:3e9d...@newsgroups.borland.com:
>> Wow, has it been that long? That is a long time, but I'm sure Chad is a
>> very busy and important man with no time to mess with silly things like
>> documentation. I'm sure Chad gets tired of answering the same dumb
>> questions, that's why he would rather point them to the documentation.
>
>I dont work on the help file at all. Don siders does. But I know the basics
>are in there, and Im pretty sure BoundPort is in there. Google would find
>answers too.
>
Actually, there is something in the Indy FAQ about binding ports with
TIdTCPClient. The entry in the FAQ is:
===
When I connect with TIdLPR or TIdRSH, I get a
EIdSocketException saying "Socket Error # 10048 Address already
in use." Why?
The reason you get an address already in use is because after a local
port has been used, it goes into a FD_WAIT state. This FD_WAIT state
is intended to give the Internet time to negotiate the final TCP/IP
connection close and cleanup (that involves an exchange of packets
over a specific length of time). While in FD_WAIT, you can not use
that particular local port and address combination.
For TIdLPR and TIdRSH, we force the client to bind to a local port
within a specific range before connecting to a server because these
protocols require the client to use specific local port ranges when
making a connection to a server. This is done with the
TIdTCPClient.BoundPortMin and TIdTCPClient.BoundPortMax properties.
Usually, if you do this with a specific IP address while a local port
is in FD_WAIT state, the bind fails and Indy will then try to bind to
the next port. Unfortunately, when using the wildcard IP address
(0.0.0.0), the bind will succeed while a port is in a FD_WAIT state
but when you connect, you get an "Address already in use" error.
The only workarounds available are:
- Wait a minute for the local port to get out of FD_WAIT state.
- Set the TIdTCPClient.BoundIP property to the to the machine's
current local IP address. This workaround can be problematic if a
machine has more than one local IP address and you do not
know which one to use.
For most clients, the best practice is to let the stack select any
available local port because most
servers do not care what local port the client is using and because of
the issue we mentioned earlier.
Do not use the TIdTCPClient.BoundPort, TIdTCPClient.BoundPortMax, and
TIdTCPClient.BoundPortMax properties unless you have a very compelling
reason to do so.
===
>[snip]
>So, for the original question:
>A client socket has 2 ports. The Remote Port is the one you are
>connecting to (i.e. the Port property you set in TClientSocket).
>Furthermore, a socket has a Local Port that is meaningless for a
>client socket, but nevertheless is has one (just like the Remote Port
>is menaingless for a server socket). TClientSocket doesn't offer any
>way to change this port, but Indy offers you to specify a special port
>or even a range of ports to be used as the Local Port.
>
>Chances are however, that you don't need to change the Local Port,
>since it really doesn't matter for a client.
>
Actually, you do not have any specific reason to bind clients to
specific ports and that is a bad practice. The only reason you would
do this is if you have a very compelling reason to do so. The only
thing I could where it is compelling is if a server is picky about
what port the client uses to connect from (the local port) or for one
of those Unix BSD-like protocols (such as LPR, Rexec, and RWho).
There are lots of books I've purchased
that don't cover EXACTLY what I was
looking for. Basing your judgement of a
book on whether or not it covers a
specific subject, in my point is not
very useful. Also, the other thing you
fail to understand is that you've
purchased a suscription to a book, you
haven't purcashed A BOOK. You will get
updates to that book.
-1,2,3 or see the xyz demo. Answers
-were short and still left me to
-figure it out myself though it
-pointed me in a direction.
Independently of this group being what
it is, how many authors do you contact
to ask questions regarding things that
may or may not appear in the their
books?
--
Hadi Hariri
AtoZed Software
AtoZed Software staff provide basic
support on these forums. These are
peer-support forums and registered
users should use the priority support
groups for technical support.
Except your theory fails in one place.
Indy is not about Chad, it's about a
team. It's an OPENSOURCE project where
there are DIFFERENT teams for Core,
Docs and Demos....teams that btw, are
open to the public (the two latter
ones) for them to join, contribute and
LEARN. Despite people HELPING out on
their OWN time, while having a
full-time job, they are flooded with
critiscm.
>> What are you implying with that link Robert? Do you not find the Indy
>> documentation and FAQ helpful?
>
>I'm saying it's worse than stuff written by a programmer; it's written by a
>computer program. Lots of data, little information, virtually no knowledge
>or wisdom imparted.
>
And what in particular do you not like about the FAQ? Please be
specific but do not E-Mail me asking for help on one your projects.
I ask because I happen to maintain the FAQ.
The only programs I use with the FAQ are these:
1) Help&Manual for editing the file content. It creates the .PDF file
and uses the HTML Help compiler to build the .CHM version of the file.
2) Final Builder for making a .ZIP file and automating several steps
in the build process.
3) .tar and gzip for making the tarball for Linux.
Help&Manual is a good help authoring tool but it can not replace a
living, breathing, human being who writes the content and actually
thinks about the content.
You can download the FAQ at:
www.indyproject.org/FAQ.html
"Robert Ruff" <rober...@desktop-assistance.com> wrote in message
news:3e9ea85f$1...@newsgroups.borland.com...
> Right. And that's not in the Indy help file, is it?
I have a suggestion... Why don't *you* volunteer for the Indy team and
work on the documentation? You're very quick to criticize them and
berate the authors and developers... So volunteer your valuable time and
do some writing. Otherwise, quit whining. :-)
Indy is supported (development, documentation, and support) by
*volunteers*. As such, they have absolutely no obligation to provide
anything, whether you like it or not. If you don't like something, join
the team and get it changed. If you don't want to do that, too bad.
Ken
---
Ken White
kwh...@adpsi.com
Clipper Functions for Delphi and C++ Builder
http://www.adpsi.com
My point is that it would be better for the Indy team to say nothing than to
tell people "You don't understand" and "See the documentation". I'm not
berating anybody. I /am/ encouraging the Indy team to do a better job of
documentation and provide better examples. That would make everyone's Indy
life a whole lot easier. That's called constructive criticism. Without
accepting constructive criticism, we stagnate.
This is certainly not how several of your original messages read. Either you
seriously did not communicate your intent, or you are seeing that and are now
backpedaling.
I fail to see (and I doubt others would as well) how your first few messages
were constructive, or encouraging.
--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"
Is Indy useful to you? Send a postcard please!
http://www.hower.org/kudzu/indypost.html
ELKNews - Get your free copy at http://www.atozedsoftware.com
"You don't understand" I agree can be a unhelpful to say the least, but
expecting people to read the docs is IMO par for the course. It's better
to first read the docs, and then ask "the docs stated X, so why is it
that Y doesn't, etc..." than "why doesn't Y work?".
Or:
http://www.catb.org/~esr/faqs/smart-questions.html
> berating anybody. I /am/ encouraging the Indy team to do a better job of
> documentation and provide better examples. That would make everyone's Indy
> life a whole lot easier. That's called constructive criticism. Without
> accepting constructive criticism, we stagnate.
Alternatively: Reduce Indy's feature set so that documenting features
becomes a less daunting task...
Case in point: BoundPort (as explained here) is of special interest to
those developers implementing arcane protocols or trying to circumvent
one type of ill-configured firewalls. I.e. if you need it, you'll pretty
much understand the "why"'s and "how-to"'s already. The Indy
documentation team's task is to document the Indy components, not tutor
people in every aspect of network configuration and all the different
ways that well-meaning network admins can really make your life a living
hell. (Besides, if we documented every trick in the book, the firewall
vendors would tighten things even more! ;-) )
TFileStream lets a user write and read stuff to a file. Do you expect
Borland to document every tiny aspect of how NTFS is implemented and all
its internal datastructures too? There's tons of useful information
about NTFS that's not in the Borland docs. At one point a software
developer has to be just that: A developer.
--
Rune, http://runesbike.com
"Rune Moberg" <r...@runesbike.com> wrote in message
news:3E9EFA7C...@runesbike.com...
A The documentation and FAQ are not very helpful.
B You should be nicer and more helpful or not reply at all. People ask
questions because they are ignorant or confused or overwhelmed or because
they don't understand.
C Indy demo's are quite lacking.
D We'd all be better off if more time was spent on A, B and C.
As far as my first few posts, my first post was merely a URL to an article
on DevX. Surely you have no problem with that(?). That article is VERY
constructive. BTW, did you read it?
I think asking for free commercial-quality documentation, examples and
support in an open source product is a little unreasonable.
The components are free, and changes, documentation and support are all
voluntary. If you need it, paid support is available. Borland does the
same thing.
If you think some of Chad's answers are a little terse, by all means ask
him to go easier. Just don't demand that he or anyone else work for
free. Jeeze!
Suggestions:
It isn't always obvious where to go to get the latest updates. The Indy
site has these plus updated documentation and demos.
http://www.indyproject.org/
http://www.atozedsoftware.com/indy/
Back to the whole volunteer thing. As it sits, Indy works pretty well
for me. If there's anything you don't like and they choose to pitch in,
anyone can always help by reporting bugs, submitting code fixes, help
update the documentation (this was the big point, right?) or contribute
a useful demo. If you know the answer to a question, answer it, and
don't forget to point people to the FAQ.
Regards,
Bruce McGee
Robert Ruff wrote:
> Well, if Indy's going to ship as part of Delphi, I expect commercial-quality
> documentation, examples, and support WITHOUT PAYING EXTRA. I looked at the
> "Indy in Depth" $66 option and as far as I can tell, at this stage it's
> little more than an "Indy Help Manual Outline in Depth."
>
> And, Chad, if you don't want to give free support on this forum, DON'T. But
"Jack Mays" <jack...@NOSPAM.earthlink.net> wrote in message
news:3E9EFC4...@NOSPAM.earthlink.net...
> Ok but AGAIN you are failing to see the point of other people, instead
> only your own... Step back a moment and think about this!!
>
> If people are too lazy to help themselvs, then programming is not the
> activity they need to be doing.. they need to be doing "less brainwork"
> activities as not to strain them to much.
>
> Simple point, take Chad's "constructive critizism" and read the docs,
> find the %$!t on your own and learn something.. Think of how you would
> be if your parents told you the answer to all your question for school
> work when you were younger??!! you'd be a complete moron not knowing
> anything, always asking questions cause you don't know! *not meaning you
> personally, but in general sense*
>
> I really hope that this thread will get read *probably won't tho cause
> apparently noone know's how to search the news archives* and understood
> by all.
>
> --
> Jack Mays
>
I guess that was stated in this comment of yours?
"I'm saying it's worse than stuff written by a programmer; it's written by
computer program. Lots of data, little information, virtually no knowledge
or wisdom imparted."
None of which is true, and has already been pointed out.
Or was that supposed to be construed when you said this:
"Well, if Indy's going to ship as part of Delphi, I expect commercial-
quality documentation, examples, and support WITHOUT PAYING EXTRA."
> B You should be nicer and more helpful or not reply at all. People
> questions because they are ignorant or confused or overwhelmed or because
> they don't understand.
Me be nicer? Im not the one who started with the pointed replies.
You said:
"Here's a fun way to undersatnd one of my points in this thread: run a
Google search for Chad Hower "not understand". You'll understand."
Hey I have an idea. Run a google on Robert Ruff and see how many posts he
answers. Then run one on me and see how many I answer.
I freely state that I dont provide detailed answers. I dont have time. I
provide POINTERS. If you'd rather just be left totally in the dark, just
dont read my replies and pray that someone else might answer.
> C Indy demo's are quite lacking.
Because they dont do exactly what you need by demoing an rarely needed
property? Or because they dont as another user put it "provide a single
demo that demonstrates EVERY feature of Indy"?
> D We'd all be better off if more time was spent on A, B and C.
You are free to join and assist.
--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"
Got Indy? Got the book?
http://www.atozedsoftware.com/indy/book/
ELKNews - Get your free copy at http://www.atozedsoftware.com
Please watch your overquoting.
Thanks.
Nick Hodges - TeamB
Lemanix Corporation
Please always follow the newsgroup guidelines --
http://www.borland.com/newsgroups
Regards,
Bruce McGee
Ok but AGAIN you are failing to see the point of other people, instead
Regards,
Bruce McGee
Jack Mays wrote:
> That's what this whoe debate is about, people having issues with others
> pointing out where to start looking.
>
> --
> Jack Mays
>
Bruce McGee wrote:
> Or we could point the person asking to a good starting point.
That's what this whoe debate is about, people having issues with others
Just trying to keep non-tech traffic to a minimum, but it probably won't
help.
--
Jack Mays
Do you really believe that? You're saying the docs/faq/demos are really
good? And you think that's the general opinion?
Bruce McGee wrote:
> I know. Silly, isn't it? <G>
IMO very.. :)
--
Jack Mays
I for one think they are a good read and they have answered all the
questions i'v needed answers to.. All oter questions that i couldn't
figure out, i searched the groups and found what i needed.. No questions
asked, no needless time being spent on me <g>
I'll give it that the docs are not for the non-technical mindset* damn
double negatives <g>* at first glance, but they do the job.
Just because the docs may not be to anyone liking, doesn't means that it
doesn't provide the inormation you need to compile your own demo project
to see if something works as intended.
--
Jack Mays
>I'm not backpedaling. I stick by my points:
>
>A The documentation and FAQ are not very helpful.
What about the FAQ is not helpful? Is it in a form that can't used
readily? Do you have workable suggestions about such a thing? Do I
need cover something that is not in the FAQ? Do I need to make
something more clear? What and how could it be better explained?
Do you even have the latest updates the Indy FAQ? I ask because I did
quite a lot of work on it over time and the only thing I saw from this
thread was that BoundPort wasn't in the index. That was about the
only constructive thing I got from this thread.
>B You should be nicer and more helpful or not reply at all. People ask
>questions because they are ignorant or confused or overwhelmed or because
>they don't understand.
>C Indy demo's are quite lacking.
>D We'd all be better off if more time was spent on A, B and C.
>
>As far as my first few posts, my first post was merely a URL to an article
>on DevX. Surely you have no problem with that(?). That article is VERY
>constructive. BTW, did you read it?
>
I did read it and I'm not completely how helpful that is for Indy.
Indy is a programming library that provides reusable code for a
variety of solutions. It is not something an end user really wants or
needs.
I admit Indy has a steep learning curve. A lot of it is simply
because Indy is complex and deals with some complex things. There's a
difference between making something extremely simple and making
something hafficult easier to do. One key premise with Indy is that
we give developers choices and some choices just are not easy (such as
weather to bind the client to a specific port). Programming by its
nature is an excersize in judgement.
Incidentily, the FAQ isdownloaded with 2 clicks from the main website.
The helpfile can be downloaded within 3 clicks (I counted that
myself).
It's been a while, I can't remember which ones it was. It just seemed that
it was always the one I needed.
I'll give you that.. <g>
THandleStream.Read documentation have different meaning:
'Read returns the number of bytes actually transferred, which may be less than Count
if the end of file marker is encountered.'
2. If I pass a COM port handle to THandleStream does Read result < Count means that
EOF is reached? Does COM port have an EOF?
3. TStream.ReadBuffer implementation
TStream.ReadBuffer implementation demands that TStream.Read should read Count bytes EXACTLY.
PS: You should not answer, just pointing this out...
--
Regards
Illya Kysil, software developer
Delphi/C/C++/C#/Java/Forth/Assembler
If it is NOT SOURCE, it is NOT SOFTWARE. (C) NASA
If your product is distributed with Delphi, then you must get royalties.
If you get royalties from Borland and additional support contracts you
would not get otherwist, that is more money in your pocket.
Certainly if you are getting money from Borland, borland expects you
to provide support in this forum.
Support in this forum makes Borlands products more valuable to users
of the component set you provide.
This supposedly should increase sales of the Borland product, your
royalites and support contracts.
Right?
In the meantime you might want to look at this "neglected" posting. I
don't care since I ahve a work around. But it would be nice to know if
it is a bug or coponent misuse. And please, don't tell me to read Indy
in Depth. I have.
-----------------------------------------------------------------------------
Posted 4/16
Hi:
Server:
ASender.Thread.Connection.WriteFile(sFileName, True);
Client:
mDataStream.Clear;
mDataStream.Position := 0;
ReadStream(mDataStream, -1, False);
Results in
Sent: CMD_READY_FOR_REPORT_LOG
Result:
An unknown error occurred during Download communication: Out of memory
while expanding memory stream
I had this problem before and I did:
Server:
mDataStream.LoadFromFile(Paths.BackupPath + sMemoFileName);
mDataStream.Position := 0;
ASender.Thread.Connection.WriteStream(mDataStream, True, True);
Client:
ReadStream(mDataStream, -1, False);
And it works fine.
In this particular case I did not call
mDataStream.Clear;
mDataStream.Position := 0;
before the ReadStream() but that should not make a difference.
Is there something that WriteFile does differently?
Thanks.
Best regards
I find that hard to believe.
> Not true. No one is expected to give support in these forums. These
> are +peer-supported+ forums.
>
>Certainly if you are getting money from Borland, borland expects you
>to provide support in this forum.
Not true. No one is expected to give support in these forums. These
>So if Borland pays Dr. X to include his/her component suite with a
>Borland product, Borland expects no forum support on that product from
>Dr. X?
Correct. Borland doesn't provide any free support either for their
tools.
>I find that hard to believe.
Well, it's true, nonetheless.
They are peer-support forums -- read about it at
http://info.borland.com/newsgroups/
Yes, but its on your part. No offense intended.
> If your product is distributed with Delphi, then you must get royalties.
No. Several problems with your analogy:
1) Indy is Open Source. Who would get the money?
2) Indy is not MINE. Its developed by a team. I am merely the original
author and project leader. But Indy is a TEAM effort.
3) There is no reason to believe that other commercial products included in
Delphi are royalty agreements either. Its not our "business" and its not
public but the general public consensus and "Wisdom" is that QR, Rave,
TeeChart and others are NOT royalty arrangements.
> If you get royalties from Borland and additional support contracts you
> would not get otherwist, that is more money in your pocket.
Even if we did get royalties, that does NOT lead to support. How much
support do you get from BORLAND in these forums? Do you understand what the
word PEER means?
> Certainly if you are getting money from Borland, borland expects you
> to provide support in this forum.
Wrong on both parts.
> Right?
100% wrong.
> In the meantime you might want to look at this "neglected" posting. I
> don't care since I ahve a work around. But it would be nice to know if
There are a LOT of "neglected" posts by your definition. I have a full time
(and then some) job just as you do. Imagine if you had a full time job +
family obligiations and were expected to answer every question in this
forum in your spare time.
I VOLUNTEER my time here.
I do publish Indy in Depth. That is seperate. I am also ONE of several
members of the Indy Experts team which provides priority support. I dont
want to turn this into a plug - but 30 Euros gets you up to 40 minutes of
support. If your project is not worth 30 Euros to you - how valuable do you
expect it to be for someone else in their SPARE time?
I am not asking you to solve "my" problem. My app is working fine.
I was merely pointing our that WriteFile() and ReadStream() appear to
be incompatible. WriteStream/ReadStream with same data works fine.
Your explanations helped me very much.
Thank you
Ashok