138
{
// Создаем объект;
FConnectionList = new TConnectionList ();
// Создаем объект;
FSettings = new TIniFile (ExtractFilePath (Application->ExeName) + "\\" +
c_Settings_File);
// Уведомить разработчика о том, что, либо он забыл закрыть соединения,
// либо IDE устраивает самодеятельность;
if (adoConnection->Connected == true)
{
ShowMessage ("adoConnection.Connected = true. Приложение будет
закрыто.");
Application->Terminate ();
}
// Определение строки соединения с базой данных;
adoConnection->ConnectionString = "Provider=SQLOLEDB;Integrated
Security=SSPI;Persist Security Info=False;Initial Catalog="
+ FSettings->ReadString(c_Settings_Section_DB, "Initial Catalog", "Base1129")
+ ";" +
"Data Source=" + FSettings->ReadString(c_Settings_Section_DB, "Data Source",
".\sqlexpress") + ";" +
"Initial File Name=" + GetDataBaseName() + ";";
try
{
//
// Загружаем из настроек (Settings.ini) порт сервера;
DSTCPServerTransport->Port = FSettings-
>ReadInteger(c_Settings_Section_Server, "Port", 5000);
// Запускаем сервер;
DSServer->Start ();
// Открываем соединение с базой данных;
adoConnection->Connected = true;
}
catch (Exception &E)
{
// В случае ошибки:
Application->MainForm->Show ();
// Показываем сообщения (об ошибках);
MessageDlg (E.Message, mtError, TMsgDlgButtons () << mbOK, 0);
MessageDlg ("Приложение будет закрыто.", mtInformation, TMsgDlgButtons
() << mbOK, 0);
// Закрываем приложение;
Application->Terminate ();
}
}
//---------------------------------------------------------------------------
void __fastcall TdmServer::DSTCPServerTransportConnect(TDSTCPConnectEventObject
&Event)
{
// Создаем объект с ключем CurrentThreadId;