Autor Beitrag
WEBSTER
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 94



BeitragVerfasst: Sa 29.10.05 12:58 
Salute,



ich habe ein Problem mit dem Aufruf von modalen-Forms .



1. Hauptmaske

- Neues Fenster wird modal aufgerufen:[Geschaefte_Form]

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
          
  try
      Geschaefte_Form := TGeschaefte_Form.Create(self);
      Geschaefte_Form.ShowModal;
   finally
      Geschaefte_Form.Release;
   end;




Geschaefte_Form -> Neues Fenster wird modal aufgerufen:[Search_Form]

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
   /////////////////////////////////////////////////////////////////////////////
   // Formular wird erstellt
   
   Search_Form := TSearch_Form.Create(self);
   
   /////////////////////////////////////////////////////////////////////////////
   // Formular wird dynamisch gefüllt
   
   Search_Form.Execute('Kunden suchen',
      'Select kunden_nr, vorname, nachname, (strasse||' + chr(39) + '   ' + chr(39) + '||plz||' + chr(39) + ' ' + chr(39) + '||ort) AS adresse from kunden',
      'Kunden_Nr',
      'Kundenstamm_Form',
      'Neuen Kunden anlegen',
      'Kunden_Nr',
      'Kunden Nr',
      '80',
      'Vorname',
      'Vorname',
      '100',
      'Nachname',
      'Nachname',
      '100',
      'Adresse',
      'Adresse',
      '200',
      '',
      '',
      '');
      
   /////////////////////////////////////////////////////////////////////////////
   // Formular wird angezeigt
   
   Search_Form.ShowModal;
   
   /////////////////////////////////////////////////////////////////////////////
   // Wenn Auswahl getroffen wurde,dann wird Maske gefüllt
   
   if Search_Form.ModalResult = mrOK then
   begin
      kunden_nr_cxTextEdit.Text := Search_Form.Str_Rueckgabe_KeyField_Value;
      
      //////////////////////////////////////////////////////////////////////////
      // SQL wird erstellt
      
      Str_SQL := 'Select Anrede, vorname, nachname, (strasse||' + chr(39) + ' |  ' + chr(39) + '||plz||' + chr(39) + ' ' + chr(39) + '||ort) AS adresse from kunden';
      Str_SQL := Str_SQL + ' where Kunden_nr = ' + chr(39) + Search_Form.Str_Rueckgabe_KeyField_Value + chr(39);
      
      ////////////////////////////////////////////////////////////////////////////
      // Der Select wird ausgeführt

      Screen.Cursor := crSQLWait;
      
      global_tmp_pFIBDataSet.Active := FALSE;
      global_tmp_DataSource.DataSet := global_tmp_pFIBDataSet;
      
      global_tmp_pFIBDataSet.SelectSQL.Clear;
      global_tmp_pFIBDataSet.SelectSQL.Add(Str_SQL);
      
      try
         global_tmp_pFIBDataSet.open;
         
         Screen.Cursor := crDefault;
         
         kunden_info_Label.Caption := global_tmp_pFIBDataSet.FieldByName('Anrede').asString + ' ' +
            global_tmp_pFIBDataSet.FieldByName('Vorname').asString + ' ' +
            global_tmp_pFIBDataSet.FieldByName('Nachname').asString + '  |  ' +
            global_tmp_pFIBDataSet.FieldByName('Adresse').asString;
            
         Application.ProcessMessages;
      except
      
         MessageDlg('Daten für Suchmaske konnten nicht selektiert werden.', mterror, [mbOk], 0);
         
         kunden_info_Label.Caption := '';
         
         Screen.Cursor := crDefault;
         end;
   end
   else
   begin
      kunden_nr_cxTextEdit.Text := '';
      kunden_info_Label.Caption := '';
   end;
   
   /////////////////////////////////////////////////////////////////////////////
   // Formular wird wieder freigegeben
   
   Search_Form.Release;



Search_Form -> Neues Fenster wird modal aufgerufen:[Kundenstamm_Form]
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
      try
         Kundenstamm_Form := TKundenstamm_Form.Create(self);

         Kundenstamm_Form.ShowModal;
      finally
         Kundenstamm_Form.Release;
      end;




Nun das Problem:

Wenn ich Kundenstamm_Form per ModalReult verlasse, dann schließt sich auch die Form: Search_Form und ich lande auf Geschaefte_Form.

Wie komme ich wieder auf das Ursprungformular, vom dem ich auch den Form-Aufruf gestartet habe [Search_Form]?


THX
WEBSTER

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt

_________________
Wer etwas anders macht, aber nicht besser, der sollte besser etwas anderes machen.