Форум: "Базы";
Поиск по всему сайту: 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.02 c
1-90548           Dave                  2002-02-11 06:59  2002.02.28  
Memo or RichEdit


4-90723           Ryder VII             2001-12-28 23:11  2002.02.28  
Что такое виндовый таймер?


7-90690           Asdf622               2001-11-23 11:48  2002.02.28  
Async Professional 3.00 и IRQ - ???


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


3-90505           siapow                2002-02-04 19:08  2002.02.28  
Как работать с БД Access