Newsgroups : Borland : borland.public.delphi.internet.winsock : 2006 May : Re: Basic newbie Indy 10 problems
| Subject: | Re: Basic newbie Indy 10 problems |
| Posted by: | "John Carlyle-Clarke" (jpcc@removethis.bigfoot.com) |
| Date: | 11 May 2006 16:22:05 |
"Remy Lebeau \(TeamB\)" <no.spam@no.spam.com> wrote in
news:44637618$1@newsgroups.borland.com:
>
> "John Carlyle-Clarke" <jpcc@removethis.bigfoot.com> wrote in
> message news:Xns97C084FA0D65Adiscombobulation@207.105.83.66...
>
>> If I use Indy 10.0.76
>
> The current Indy 10 snapshot is 10.1.5. You should consider
> upgrading.
>
The source options available on www.indyproject.org seem to be
Version 10.0.52 or the bleeding edge straight from CVS files.
10.1.5 is available from Atozed only AFAICT.
>> create an empty execute handler
>
> That will cause the server to eat up CPU cycles. The OnExecute
> event handler needs to perform a yielding operation. If you don't
> want it to access the socket (what is the point of having a server
> that does nothing?) then at least make a call to Sleep().
The purpose of this was to test the minimum application that would
produce the problem, but I see your point. However, the same
happens in my real app too.
>
>> set active to True
>
> What happens if you set that at runtime instead of at design-time?
I still get a similar problem, although the exact exception does
vary.
>
>> start application and then close it (with no connections made) I
>> get an EInvalidPointer exception in IdThread.pas (line 348).
>
> What does the actual code look like? In my copy, line 348 is a
> call to TIdThread.HandleRunException() inside of an exception
> handler, which does nothing.
I am getting an access violation now, at the same spot. It is in
TIDThread.Execute, and it is the last line of this section:
Include(FOptions, itoReqCleanup);
try
try
BeforeRun;
try
if Loop then begin
while not Stopped do begin
try
-> Run;
>
>> So, I tried to install 10.1.5, but that won't install because of
>> a message about filectrl being used in the package IndySystem50.
>
> Indy 10 doesn't use the FileCtrl unit anymore. You probably still
> have older Indy files on your machine that you did not remove.
I don't think so...
When I've uninstalled Indy and deleted the folder, then installed
10.1.5, the file IdSysVCL contains this code:
unit IdSysVCL;
interface
uses
{$I IdCompilerDefines.inc}
{$IFDEF DOTNET}
System.IO,
{$ENDIF}
{$IFDEF MSWindows}
Windows,
{$ENDIF}
{$IFDEF DELPHI5}
FileCtrl,
{$ENDIF}
IdSysBase,
SysUtils;
>
>> I get a failure in IdSSLOpenSSL.pas saying line too long (more
>> than 1023 characters) at line 1.
>
> That is a Borland problem, not an Indy problem. Line 1 of
> IdSSLOpenSSL.pas is certainly not more than 1024 characters long.
> In fact, line 1 is only 1 character long.
>
Indeed, but I am sure I remember this problem of old, and it's to do
with line endings. If I open the file in Ultraedit32 it says "File
is probably not in DOS format - do you want to convert it?" which is
a sure sign of the presence of Unix endings. Strangely even if I
say yes and save it, Delphi still doesn't like it, so there is
something odd in there, but short of picking through it with a hex
editor I'm not sure what. To be honest, I simply took this as
confirmation that I should have heeded the dire warnings on the site
that say "You are being warned. This will provide you with a direct
link into our current development files. At various times the files
may not compile, or in some cases may cause strange errors. Use at
your own risk!"