Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Проблема с tSocketConnection


Автор: DenisTv 6.2.2011, 07:02
Доброго времени суток!
Ситуация: клиент - серверное приложение. На сервере в RemoveDataModule tAdoConnection(подключенный к access базе), tAdoTable (собственно таблицы), tDataSetProvider(трансливрование в сеть). 
На клиенте tSocketConnection, tClientDataSet и tDataSource.

Сделал эту связку для локальной сети и всё прекрасно работало, пока заказчик вдруг не решил купить VPS и перенести сервер туда. Я перенес всё это шаманство на сервер, включил на нем Bornald Socket Server (scktsrvr.exe) и на удаленной машине включил клиент, однако чуда не произошло. Проверил, tSocketConnection подключается и всё в порядке, но таблицы не активируются! Помогите разобраться в проблеме. 

Код активации таблиц.
Код

function TfmSettings.ActivateTables(switch: boolean): boolean;
begin
  result:=true;
  try
    Box.cdsCalls.Active:=switch;
    ....
    Box.cdsTasks.Active:=switch;
  except
    result:=false;
  end;
end;

Автор: DenisTv 7.2.2011, 15:36
После тщетных попыток разобраться в природе ошибки я случайно наткнулся на один интересный момент: клиент подключается к базе, но не открывает таблицы только если на ПК не установлен Delphi. 
После установки и компиляции на клиентской машине всё работает корректно. Однако после удаления Delphi всё встает на свои места, т.е. связь таблиц опять нарушается.

Подскажите как и куда копать, чтобы разобраться в природе ошибки? Проблема на стороне сервера или клиента?

Автор: naz191 7.2.2011, 18:37
Однозначно драйвер!!! но какой...(?) в зависимости что ты используешь, попробуй пошарь чего нет в стандартной О.С. {была проблема с Paradox т.е. где нет дельфи не запускалась... нашел драйвер BDE.exe и все норм}

Автор: DenisTv 8.3.2011, 13:41
Проблема оказалась в midas.dll (из system32).

Пути решения:
1. uses MidasLib, CRTL;
2. копировать библиотеку на каждый ПК.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)