> Second reason you mentioned yourself - using non-standard server
> commands. Perhap not pressing programmer to make descendant to allow
> basic approach of communication? 

You must not tocreate descendant in all cases. If you want to handle 
non-standard POP3 commands, what about to create two new methods:

function CustomCommad(const value: string): boolean;
function CustomCommadLong(const value: string): boolean;

One is for commands what returning just one line response, second is 
for commands what returning multilined response.

Cover this your needings?


> > Default values of range definitons stay on 0. Here is not reason to
> > change this, because it have only one limitation.. you cannot ask
> > range 0- 0.
> 
> That is reason I deliberately set default to -1, this avoid all
> problems on zero based indexes...

Who need to got range 0 - 0? ;-O All other combinations are covered 
fine with fixed code.

> All that comes from full stream support I have (you planning to create
> it). I directly gives stream and ranges to the function I modified.
> What will happend here if given range is incorrect? Or when another
> unhandled error is returned from server! In this example (given
> destination to my function is mostly TFileStream), will be added that
> error report if these errors are not handled. Then it is clear what
> successive mess this will produce. All that I wrote is from real
> situations I have had. And all that may happens in current synapse
> solution based only on TDocument stream.
> 
> I suggested while ago different approach of handling error messages,
> where only on positive expected (income of excepted real data) will be
> also sent back in the stream. Current solution (using one stream for
> error and data) is potentionally highly dangerous.

What about handle this situation like it is handled by IE or Firefox? 
These webbrowsers not doing download directly to final file, but into 
temporary files instead. When download is successfull, then made 
final file from correctly downloaded pieces in temporaty files.

> Anyway, as I wrote while ago in a private message when asked
> permission to use some basic synapse code for my own library, which I
> asked because "suggestions  I may give here may not be applicable best
> in current Synapse solutions because slightly different approaches and
> needs we have".

Yes, and I not habve any problem with this. You can made and publish 
any derived work from Synapse sources, just leave untouched my 
copyright and license information on begin of my sources. If you want 
to modify my sources, just add your name and copyright to 
'contributions' section on begin of file.



-- 
Lukas Gebauer.

E-mail: [EMAIL PROTECTED]
http://synapse.ararat.cz/ - Ararat Synapse - TCP/IP Lib.


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
synalist-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synalist-public

Reply via email to