Newsgroups : Borland : borland.public.delphi.internet.winsock : 2005 Sep : Maybe not the right place, but need URGENT help

www.cryer.info
Managed Newsgroup Archive

Maybe not the right place, but need URGENT help

Subject:Maybe not the right place, but need URGENT help
Posted by:"E.P." (epergo..@prodigy.net.mx)
Date:Wed, 7 Sep 2005 17:55:43

Hi

I tried some other venues, but I cannot get an answer.
Please, if anyone can, even privately, I would appreciate immensely.

I have a D5 App, running on a network with 7 PC's (W98 & XP)
simultaneously. After a period of usage, they get the error
"Winsock Communications: Unexpected Winsock error
10055/$2747..."
.
On Windows Server 2000, where my Ffserv32.exe (1.57) is
running, my client gets this error
1. Do you know if Ffserv32.exe could cause this error? If so
under what circumstances?
2. what database methods open winsocks? database.open only? or also
things like starttransaction? (I mean could it be that i should "close"
something
but I do not in my App?)
3. Is it possible that my client App somehow causes it? My
app basically uses the database via  TCP/IP, I do not use
directly any socket communication feature.
4. Any suggestions on how to isolate the root of the problem
(FFserv32, my app, or the ntework setup in the file server?)
   or even better on how to solve it?
5. Finally could this code be the culprit (for too many open
winsocks)?
    repeat
      try
        DM1.HMDATABASE.STARTTRANSACTION;
        DM1.translog.edit;
        DM1.translog.FieldByname('desc').AsString:= _user;
        DM1.translog.Post;
        i:=4;
        Result:=true;
      except
        on E : SysUtils.Exception do with dm1 do with translog
                        do begin
           if (E is EffDatabaseError) and (Pos('transaction is
            already in progress',E.message)>0) then begin
               if MESSAGEDLG('Please wait. User '
                 +getusername +' is updating the database. Click
                      Retry to try again or Cancel to abandon
                      changes',mtwarNING,[MBretry,mbCancel],0)
                          =MrCancel then
                 i:=4;
           end else begin
             messagedlg(E.message, mterror,[mbok],0);
             i:=4;
           end;
           Inc(i);
        END;
      end;
    until i>=3;

Thanks very much.
Enrico

Replies:

www.cryer.info
Managed Newsgroup Archive