Announcement

Collapse
No announcement yet.

Form wird ungewollt geschlossen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Form wird ungewollt geschlossen

    Ich habe ein Hauptformulare, von welchem mit vier Buttons vier Unterformulare geöffnet werden (formx.show). Im Prinzip funktioniert das auch, jedoch wird beim Öffnen eines neuen Unterformulars das vorher geöffnete wieder geschlossen? Ich möchte allerdings alle 4 Fenster gleichzeitig zur Bearbeitung geöffnet halten. Wie kann ich das ungewollte schließen der Formulare verhindern?

  • #2
    Hallo Rainer,<br> wird das Form wirklich geschlossen, oder verschwindet es lediglich unter dem Hauptformular ?<br>:-) Jens Schuman

    Comment


    • #3
      Hallo Rainer,<br>zeigt doch mal ein bißchen Source.<br>:-) Jens Schuman

      Comment


      • #4
        Hallo!
        Nachfolgend die Haupt-Unit von meinem an sich sehr simplen Programm. Form0 ist das Hauptformular, Form1..5 werden durch einen Button mit form?.show angezeigt. Die unerwünschte Eigenschaft ist, dass immer beim Aktivieren eines neuen Formulare das vorher geöffnete verschwindet.
        Ich vermute, dass die Lösung des sehr einfach ist??????????????

        unit delegate;

        interface

        uses
        Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
        ExtCtrls, DBCtrls, Grids, DBGrids, Db, AdsData, AdsTable, ADSSET,
        StdCtrls, ToolWin, ComCtrls, Menus, ImgList, AdsFunc, RxLookup, RxDBComb,
        kds2prn, kds2html, HTMLLite;

        type
        TForm0 = class(TForm)
        MainMenu1: TMainMenu;
        Datei1: TMenuItem;
        Drucken1: TMenuItem;
        N1: TMenuItem;
        Beenden1: TMenuItem;
        Hilfe1: TMenuItem;
        ImageList1: TImageList;
        ToolBar2: TToolBar;
        ToolButton1: TToolButton;
        ToolButton3: TToolButton;
        ToolButton4: TToolButton;
        ToolButton00: TToolButton;
        ToolButton0: TToolButton;
        ToolButton5: TToolButton;
        ToolButton01: TToolButton;
        KDataSetToHTML1: TKDataSetToHTML;
        Bearbeiten1: TMenuItem;
        Aufgaben1: TMenuItem;
        Projekte1: TMenuItem;
        StandderBearbeitung1: TMenuItem;
        Personen1: TMenuItem;
        ber1: TMenuItem;
        N2: TMenuItem;
        ber2: TMenuItem;
        procedure ToolButton0Click(Sender: TObject);
        procedure ToolButton5Click(Sender: TObject);
        procedure ToolButton1Click(Sender: TObject);
        procedure ToolButton3Click(Sender: TObject);
        procedure ToolButton4Click(Sender: TObject);
        procedure Beenden1Click(Sender: TObject);
        private
        { Private-Deklarationen }
        public
        { Public-Deklarationen }
        end;

        var
        Form0: TForm0;

        implementation

        uses dg2, dg3, dg4, dg5, dg1, dgmodule;

        {$R *.DFM}

        procedure TForm0.ToolButton0Click(Sender: TObject);
        begin
        form0.KDatasetToHTML1.DataSet:=DataModule1.AdsTabl e1;
        form0.KDatasetToHTML1.Header.Clear;
        form0.KDatasetToHTML1.Header.Add('Aufgaben ') ;
        form1.Show;
        end;

        procedure TForm0.ToolButton5Click(Sender: TObject);
        begin
        form0.KDataSetToHTML1.Header.Add(DateToStr(Date()) );
        form0.KDataSetToHTML1.Transfer('delegate.htm');
        end;

        procedure TForm0.ToolButton1Click(Sender: TObject);
        begin
        form0.KDatasetToHTML1.DataSet:=DataModule1.AdsTabl e2;
        form0.KDatasetToHTML1.Header.Clear;
        form0.KDatasetToHTML1.Header.Add('Projekte ') ;
        form2.Show;
        end;

        procedure TForm0.ToolButton3Click(Sender: TObject);
        begin
        form0.KDatasetToHTML1.DataSet:=DataModule1.AdsTabl e4;
        form0.KDatasetToHTML1.Header.Clear;
        form0.KDatasetToHTML1.Header.Add('Stand der Bearbeitung ') ;
        form4.show;
        end;

        procedure TForm0.ToolButton4Click(Sender: TObject);
        begin
        form0.KDatasetToHTML1.DataSet:=DataModule1.AdsTabl e5;
        form0.KDatasetToHTML1.Header.Clear;
        form0.KDatasetToHTML1.Header.Add('Personen ') ;
        form5.show;
        end;

        procedure TForm0.Beenden1Click(Sender: TObject);
        begin
        form0.close;
        end;

        end

        Comment


        • #5
          Hallo Rainer,<br>Deine Formulare verschwinden, werden aber nicht geschlossen. Wenn Du auf Button0 klickst, wird Form1 angezeigt und erhält den Focus. Wenn Du jetzt auf Button1 klickst erhält Form0 den Focus. Dadurch schiebt sich Form0 in den Vordergrund und Form1 verschwindet hinter Form0. Nach dem Klick siehst Du dann wohl Form2.<br> Setzt mal die Eigenschaft FormStyle Deiner Formulare im Objektinspektor auf fsStyOnTop. Bei Form0 stellst Du fsNormal ein.<br>:-) Jens Schuman

          Comment

          Working...
          X