Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];

Вниз

Как закрыть приложение ???   Найти похожие ветки 

 
-=[SDA]=-   (2003-11-14 10:28) [0]

Задача: Проверить связь с сервером БД до запуска приложения. Так вот, решил перекрыть конструктор главной формы так:

constructor TForm1.Create(Owner: TComponent);
var db_ : TDataBase;
begin
db_ := tDatabase.Create(Application);
with db_ do
begin
AliasName := "GDC_tr";
DatabaseName := "ssssss";
keepConnection := True;
LoginPrompt := False;

Params.Values["USER NAME"] := "sa";
Params.Values["PASSWORD"] := "";
try
Connected := True;
except
on E: Exception do
begin
db_.free;
showmessage("Нет связи с БД " +^M+E.Message);
//?????????????????????????
end;
end;
end;
inherited Create(Owner);
end;


А вот как закрыть приложение в месте с "вопросиками" не знаю, или может есть ещё какой-нибуть способ завершить работу???
Буду рад и благодарен, если кто поможет !!! :-)


 
Ru   (2003-11-14 10:32) [1]

А почему нельзя проверить после запуска (OnShow) и в случае неудачи (отсутствия сервера) поматюкаться по этому поводу?


 
-=[SDA]=-   (2003-11-14 10:39) [2]

{Ru}
Пока сильно не разбирался с этой прогой, но на ней много Querey, которые цепляются к DataBase на главной форме и коннектятся в OnCreate, так что если нет доступа к БД, то прога виснет на ConnectTimeOut (из BDE), а потом всё равно открывается, но с пустыми Grid"ами, вот. Но идея неплохая, щас попробую установить connect в OnShow, а там проверить.


 
Плохиш_   (2003-11-14 10:40) [3]

>-=[SDA]=- © (14.11.03 10:28)

А почему бы не сделать это в OnCreate?

А ответ: Application.Terminate


 
Ru   (2003-11-14 10:42) [4]

>-=[SDA]=- © (14.11.03 10:39) [2]

я бы всё перенёс из OnCreate в OnShow и запускал бы только после положительного результата проверки подключения.


 
Stas   (2003-11-14 10:46) [5]

HALT


 
Романов Р.В.   (2003-11-14 10:51) [6]

program Project1;

uses
Forms,
Unit1 in "Unit1.pas" {Form1};

{$R *.res}

begin
Application.Initialize;
if Проверка чего-либо then
begin
Application.CreateForm(TForm1, Form1);
Application.Run;
end
else
ShowMessage("Приложение не может быть запущено...");
end.


 
-=[SDA]=-   (2003-11-14 10:54) [7]

[Всем]
C переносом из OnCreate в OnShow идея хорошая, но наверное делать не буду, разбираться неохото - там строк 1,5-2 тысячи, может только потом... как-нибудь
А с Application.Terminate и Halt"ом попробовал и интересная вещь получается: с Halt"ом раз в 10-15 быстрее, интересно, почему???


 
Плохиш_   (2003-11-14 10:57) [8]

>-=[SDA]=- © (14.11.03 10:54) [7]

Halt = выстрел из пистолета в висок
Application.Terminate = подождать нормального заверщения


 
Ru   (2003-11-14 10:59) [9]

>-=[SDA]=- © (14.11.03 10:54) [7]

попробуй сделать как говорит Романов Р.В. © (14.11.03 10:51) [6]

или сдалай процедуру в которую перенеси код из OnCreate, а в OnShow:
if XXX then ActiveBaseProc else begin
Showmessage(0,"Админ опять травы накурился.","Проблема",mb_ok);
Close;
end;

где ХХХ - проверка подключения


 
Stas   (2003-11-14 11:00) [10]

Halt - Аварийное завершение, возможно неосвобождает память.


 
-=[SDA]=-   (2003-11-14 11:05) [11]

>>Плохиш_ (14.11.03 10:57) [8]
>>Halt = выстрел из пистолета в висок
>>Application.Terminate = подождать нормального заверщения

:-))))))))))))) Круто сказал !!!!!
Это нужно записать в следующую [фразу дня]
Спасибо!


 
-=[SDA]=-   (2003-11-14 11:17) [12]

Всем ОГРОМНОЕ спасибо !!!
Мне тоже понравился вариант Романова Р.В., я так и сделал!
И проблем нет: не надо в прогу лезть, и легко: не надо голову ломать. Так что Романову отдельное спасибо!
Ну а Плохиш_ хорошую фразу выложил!
Супер!!!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.013 c
11-78864
Boguslaw
2003-03-16 11:34
2003.11.24
Where is KOL archiw ?


1-78926
Pepperok
2003-11-12 14:37
2003.11.24
Содержимое ListBox`a


3-78759
chtr
2003-11-03 15:27
2003.11.24
Кодировка в Rave


1-78968
lamer666
2003-11-14 18:37
2003.11.24
Обработка OnClick у объектов


3-78781
MalkoLinge
2003-11-05 16:20
2003.11.24
Fastreport





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский