Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Процесс не выгружается [D7, Win2k]


Страницы:   1 2

Belkova ©   (2005-06-30 20:14:00) 

Мастера Delphi! Посоветуйте, пожалуйста.  Процесс при закрытии главной формы не выгружается. В диспечере задач смотрю:  в приложениях ничего нет, а в процессах остается. Что делать?


Belkova   (2005-07-01 09:44:00) [21]

СУБД - InterBase
FDM модуль данных, где все Query, dataSet и пр.
fdir форма, на которой расположен прайс и вызываются все остальные формы, которые выписывают документы и прочии торговые операции. Создаются все формы в проекте
Application.Initialize;
Application.CreateForm(TFSYS, FSYS);
Application.CreateForm(TFLogin, FLogin);
и т.д.


Digitman   (2005-07-01 09:34:00) [22]

СУБД - InterBase ?

что такое fDM, fDir ? где , как, когда создаются , что в них творится ?


Belkova   (2005-07-01 09:22:00) [23]

На главной форме есть меню, в котором вызов диалога для пароля, и выход из приложения.
Flogin.Show
и
FDM.DBAlfa.Connected:=False;
fSYS.Close;
В форме Flogin Есть поле для ввода пароля и юзера
и кнопочка Ok, на которую
  ConnectToIniFile;
  fDM.DBAlfa.Params.Values['Password']:=EdPassword.text;
  fDM.DBAlfa.Params.Values['user_name']:=EDUserName.Text;
  try
   fDM.DBAlfa.Connected:=True ;
   FLogin.Close;
   FDir.Show
   except
   MessageDlg('Неправильный пароль',mtError,[mbOk],0);
   FDM.DBAlfa.Connected:=False;
  end;

procedure TFLogin.ConnectToIniFile;
var Cfg:TIniFile; S_Temp:String;
begin
if FDM.DBAlfa.Connected then FDM.DBAlfa.Connected:=False;
 Cfg:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'connect.ini');
 S_Temp:=Cfg.ReadString('CONFIG','Server','localhost');
 if S_Temp='localhost' then
 begin
 fDM.DBAlfa.DatabaseName:=Cfg.ReadString('CONFIG','Path','');
 end else
 begin
  fDM.DBAlfa.DatabaseName:=Cfg.ReadString('CONFIG','Server','')+':'+Cfg.ReadString('CONFIG','Path','');
 end;
 Cfg.Free;
end;


Digitman   (2005-07-01 09:09:00) [24]


> Belkova ©   (01.07.05 09:07) [11]


приводи код


Belkova   (2005-07-01 09:07:00) [25]

Вообще-то приложение работает с БД. Главная форма вызывает форму, которая  производит соединение с БД. (Там заводится пароль и Юзер).


Digitman   (2005-07-01 08:53:00) [26]


> Belkova


что у тебя вообще в приложении делается-то ?
в угадайку играть будем ?


Belkova   (2005-07-01 08:48:00) [27]

И еще момент, это происходит не на всех компьютерах. На ноутбуке, на котором программа пишется, все нормально выгружается. Когда копирую на другие компьютеры, такое происходит.


Belkova   (2005-07-01 08:41:00) [28]

TForm


Просто Джо   (2005-07-01 03:46:00) [29]


> [3] Belkova ©   (30.06.05 20:34)

А как называется класс главной формы?


Юрий Зотов   (2005-07-01 03:13:00) [30]

Чудес не бывает - значит, что-то где-то Вы все же перекрыли.


Belkova   (2005-06-30 21:39:00) [31]

Не выгружается.


Юрий Зотов   (2005-06-30 21:26:00) [32]

Попробуйте поставить CloseHandle(Rez) послеend:

Rez := CreateFileMapping(...);
if GetLastError <> ERROR_ALREADY_EXISTS then
begin
 ...
end;
CloseHandle(Rez);


Belkova   (2005-06-30 20:34:00) [33]

В файле проекта есть код для того чтобы не запускалась копия программы
var Rez:THandle;
begin
Rez:=CreateFileMapping(HWND($FFFFFFFF),nil,PAGE_READWRITE,0,1024,'PrjAlfa.exe'); //èìÿ ôàéëà
if (GetLastErrorERROR_ALREADY_EXISTS) then
begin
 Application.Initialize;
 Application.CreateForm(TFSYS, FSYS);
 Application.CreateForm(TFLogin, FLogin);
{Создание форм}
 Application.Run;
 CloseHandle(Rez);
end
А главная форма просто вызывается Close, в событии OnClose ничего не прописано.


Belkova   (2005-06-30 20:29:00) [34]

Таких обработчиков нет.


Юрий Зотов   (2005-06-30 20:19:00) [35]

Есть ли обработчики, срабатывающие при закрытии формы или приложения? Если да, покажите их код.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо