Главная страница
    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.011 c
3-78799
bss
2003-11-05 12:04
2003.11.24
Разрыв соединения ADO Connection с базой MSAccess


14-79141
Igor_thief
2003-10-31 18:06
2003.11.24
DBGRID


3-78837
Nick-From
2003-11-02 13:00
2003.11.24
Проблема в FastReport


1-78985
Jul
2003-11-14 13:31
2003.11.24
опять Excel - CoInitialize has not been called


14-79159
Mihey
2003-10-29 17:52
2003.11.24
Есть ли нормальные компиляторы Pascal?????





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский