![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Вот функция, которая вызывает диалог, на котором заполняются настройки ConnectionString для ADOConnection:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
with TFormConnectionDialog.Create(Self) do
try
if Execute(Connection) then
FillDataBases(SidePanel.Items.AddChild(nil, 'Сервер'))
else
Self.Close;
finally
Free;
end;
end;1) В случае успешного Execute должна вызываться процедура заполнения SidePanel деревом сервера. Проблема в методе Execute: Код:
function TFormConnectionDialog.Execute(Connection: TADOConnection): boolean;
begin
Result := ShowModal = mrOK;
if Result then
begin
Connection.ConnectionString := 'Driver=MySQL ODBC 5.2 ANSI Driver;' +
edServer.Text + edPort.Text + edDataBase.Text + edUser.Text + edPwd.Text;
if not Connection.Connected then
raise Exception.Create('Неправильные настройки соединения.');
end;
end;1) Подразумевается, что если Connect прошёл, то execute возвращает true и закрывает форму-диалог, что влечёт за собой заполнение SidePanel. 2) если не прошёл, то выводит сообщение об ошибке и ждёт исправлений. 3) В случае mrCancel форма-диалог должна закрыться, вместе с Главной формой. Я запутался в том, где что закрывать, где-что присваивать. P.s сюда есть смысл заглядывать? Код:
ConnectionConnectComplete(Connection: TADOConnection; const Error: Error; var EventStatus: TEventStatus); Последний раз редактировалось Uniq!, 20.10.2013 в 00:19. |