On Fri, 17 Apr 2015, Чернов Дмитрий wrote:


17.04.2015, 18:41, "Michael Van Canneyt" <[email protected]>:

       We are aware of this problem, and we are working on a solution to be 
able to reconnect (so, point 4 in your list (actually, the second 3) :))

       See for example: http://bugs.freepascal.org/view.php?id=26505

       There is a beginning of a patch in TCustomConnection
          procedure Close(ForceClose: Boolean=False);
       if you set Force to True then the connection will be closed and errors 
will be ignored.

       Michael.
       ,

       _______________________________________________
       fpc-devel maillist  -  [email protected]
       http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

 
thanks for answer. it's really nice to report known bugs ;)
but I tried forced connection closedown, and it doesn't work. at least for me. 
or it's I'm just sad sack?
 
for example, I have this code on my (re)connect button:
http://pastebin.com/9PPyaby9
and after connection interrupt it throws "connection lost" exception on 
IBConnection.Close( True ), and doesn't set Connected to False

That is because this form of close requires implementation details per 
descendent of TCustomconnection

It has been implemented for MySQL (where 'Server has gone away' is a frequent problem), but not yet for Firebird. I will look into it.

also one small question. will it be possibly to determine whether connection 
was closed by user or interrupted? and what about events calling on interrupts?

We can think about this. The problem with an interrupt is that you don't know 
when it happens.
You only see it when you try to do something new.

Michael.
_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to