Вниз
Скачать: CL | DM;

Помогите срочно надо   Найти похожие ветки 

 
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 все работает



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
1-90575
Rev
2002-02-12 09:16
2002.02.28
Проблема с языковой раскладкой клавиатуры


14-90650
vajo
2002-01-14 09:39
2002.02.28
Video


4-90713
Delphig
2001-12-21 02:37
2002.02.28
Я тут и журнала Хxxxx взял вот такой прикол...............


3-90445
Ser_Grey
2002-02-01 09:08
2002.02.28
Вроде простой вопрос, а ответа никто не знает!


14-90655
perov
2002-01-10 14:16
2002.02.28
Как поделить апельсин?????




   Наверх