Greetings,
First of all I'm using ADS 11, Delphi XE7. Here's my problem in a nutshell.
Create a delphi application and place 2 buttons.
OnClick of Button1
var
conn1 : TAdsConnection;
begin
conn1 := TAdsConnection.Create(nil);
try
conn1.Username := 'ADSSYS';
conn1.Password := 'yourdbpassword';
conn1.ConnectPath := '\\SERVER\CON1\FLDatabase.add';
conn1.IsConnected := True;
finally
conn1.Free;
end;
OnClick of Button2
var
conn2 : TAdsConnection;
begin
conn2 := TAdsConnection.Create(nil);
try
conn2.Username := 'ADSSYS';
conn2.Password := 'yourdbpassword';
conn2.ConnectPath := '\\SERVER\CON1\FLDatabase.add';
conn2.IsConnected := True;
finally
conn2.Free;
end;
Now start the program. Press Button1, everything connects, and we're good to go.
Now go into your firewall settings and create two Outbound Block rules on port 6262 TCP and UDP.
Now press Button2 and you should get the expected 6420 error.
Now disable the Block rules you created in your firewall.
Now press Button1 or Button2 and you'll always get 6420 even though communication is back up and good to go. Restarting the program is the only solution I've found that works. But this isn't feasible if you're running your software as middleware. It needs to be able to come back from these types of errors.
Any ideas?
Thanks for your time,
Dusten