Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.28;
Скачать: [xml.tar.bz2];




Вниз

Помогите срочно надо 


ava   (2002-02-04 14:31) [0]

Немогу разобраться почему создается две формы MDIchild




procedure TFMyn.TreeView1Change(Sender: TObject; Node: TTreeNode);
var
n: Integer;
begin
n := Node.StateIndex;
case n of
1: begin
if ActiveMDIChild <> nil then
ActiveMDIChild.Close;
if not DataModule1.TNBal_1.FindKey([FMyn.DBLookupComboBox2.Text,FMyn.DBLookupComboBox1.Text]) then
begin
ShowMessage ("Ввод новых данных!!!");
begin
DataModule1.TNBal_1.Insert;
DataModule1.TNBal_1Name.Value := FMyn.DBLookupComboBox1.Text;
Form1 := TForm1.Create(self);
Form1.Button1.Visible := False;
Form1.Button2.Visible := True;
Form1.Button3.Visible := True;
Form1.DBEdit1.SetFocus;
end;
end;
Form1 := TForm1.Create(self);
end;


2: begin
if ActiveMDIChild <> nil then
ActiveMDIChild.Close;
Form2 := TForm2.Create(self);
end;
3: begin
if ActiveMDIChild <> nil then
ActiveMDIChild.Close;
Form3 := TForm3.Create(self);
end;
end;
end;



ava   (2002-02-04 14:50) [1]

Приятно сам с собой вести беседу



Praco   (2002-02-04 15:20) [2]

Close в MDIChild по умолчанию не уничтожает форму, а минимизирует.
Для уничтожения в OnClose нужно сделать Action:= caFree.



ava   (2002-02-04 15:33) [3]

> Action:= caFree
есть
уничтожает все правильно

см. п3,4

но создает при выполнении условия
if not DataModule1.TNBal_1.FindKey([FMyn.DBLookupComboBox2.Text,FMyn.DBLookupComboBox1.Text]) then

две формы



Praco   (2002-02-04 15:40) [4]

Form1 := TForm1.Create(self); // <---
Form1.Button1.Visible := False;
Form1.Button2.Visible := True;
Form1.Button3.Visible := True;
Form1.DBEdit1.SetFocus;
end;
end;
Form1 := TForm1.Create(self); // <---

Не поэтому?



ava   (2002-02-04 15:45) [5]

Поэтому
убираю вторую строчку, при выполнении условия (отсутствие записи) форма работает нормально, а если запись есть , то она вообще не создается

но немогу понять почему



Praco   (2002-02-04 16:32) [6]

Cуществуют ли обработчики TNBal_1.On..Error, TNBal_1.OnNewRecord, Application.OnException ?

А если пройтись по шагам(Trace Into), особенно здесь:
DataModule1.TNBal_1.Insert;
DataModule1.TNBal_1Name.Value := FMyn.DBLookupComboBox1.Text;



Joric   (2002-02-05 01:32) [7]

А Form1.Show не пробовал?



ava   (2002-02-05 22:21) [8]

спасибо за советы
вставил else в if все работает




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.015 c
14-90638          Смит&Вессон      2002-01-11 19:33  2002.02.28  
Исходники игрушек


1-90623           Lotus                 2002-02-13 11:19  2002.02.28  
Как убрать рамку у ComboBox?


3-90482           Pavel_s               2002-02-02 16:55  2002.02.28  
Проблема с Update


1-90589           Alexandr              2002-02-12 13:27  2002.02.28  
Фреймы


14-90637          Yakudza               2002-01-11 18:02  2002.02.28  
Глюки