Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - peinliche Anfängerfrage mit Formanzeige


Morpheus1572 - Sa 05.04.08 10:19
Titel: peinliche Anfängerfrage mit Formanzeige
Moin moin,

mein gott ich habe ja schon ne menge gefragt und auch vieles umgesetzt aber jetzt bin ich wirklich peinlich berührt, weil was ich machen möchte nicht funktioniert oder ich es einfach nicht RAFFE!!! Peinlich peinlich.

okay, trage ich mal zur belustigung aller bei:

ich habe ein Programm, wenn es startet geht das hauptfenster auf (Elternfenster). soweit so gut. jetzt kommt das wirklich peinliche. ich möchte einfach ein weiteres fenster öffnen in dem gewisse stati angezeigt werden. a) ist die db konnektiert b) ist in einer bestimmten tabelle ein bestimmter wert vorhanden...

das bekomme ich ja hin aber der anfang ist das problem für mich. ich verstehe nicht wie ich anfangen soll, damit dieses doofe statusfenster mit den entsprechenden informationen aufgeht, da es von sich aus aufgehen soll OHNE erst mal irgendwas zu drücken oder so...

ich dachte im formcreate-teil aber wenn das so ist dann raff ich offensichtlich nicht, wie ich die proceduren aufrufe oder was auch immer ich tun muss.

hilfe wäre nett und spot angebracht.

danke im voraus für eure mühe.

Morph.


Moderiert von user profile iconGausi: Topic aus Sonstiges (Delphi) verschoben am Sa 05.04.2008 um 10:33


bflegel - Sa 05.04.08 10:27

Setze den Aufruf doch in die OnShow-Procedure Deiner Hauptform ein.

Damit das Fenster nicht mehrmals geöffnet wird (sollte die Prozedur öfters aufgerufen werden) machst Du Dir eine globale Variable (z.B. firststart), die Du im FormCreate des Hauptfensters auf true und dann beim Anzeigen Deines Statusfensters auf false setzt.

Somit wird das Statusfenster nur einmal aufgerufen.


Delphi-Quelltext
1:
2:
3:
4:
5:
if firststart then 
begin
  firststart := false;
  form2.show;
end;


bye bflegel


Gausi - Sa 05.04.08 10:32

Schau dir mal die Eigenschaft visible deiner Nebenform an. ;-)


Morpheus1572 - Sa 05.04.08 10:38

@bflegel:
hab ich gemacht - glaub ich. ich geb dir mal den schnipsel zum gucken.


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:
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    procedure Test;
  end;

var
  Hauptformular: THauptformular;

implementation

{$R *.dfm}

procedure THauptformular.Test;
begin
  Form4.Show;
end;

procedure THauptformular.bearbeiten1Click(Sender: TObject);
begin
  TForm3.Create(Self);
end;

procedure THauptformular.FormShow(Sender: TObject);
begin
  Test;
end;


Das ergebnis ist ein nicht sichtbares Form4...


bflegel - Sa 05.04.08 10:39

@Gausi:

Wenn ich Morpheus richtig verstanden habe kann er das Nebenfenster ja öffen. Er möchte dafür nur keinen Button drücken müssen. Von daher müsste meine Variante das richtige für ihn sein.

bye
bflegel


Gausi - Sa 05.04.08 10:45

Wenn man nicht an der dpr oder so rumgefummelt hat, dann werden sämtliche Fenster beim Programmstart erzeugt. Allerdings sind alle bis auf das Hauptfenster unsichtbar. Wenn man im Objektinspektor bei einer der Nebenformen die Eigenschaft visible auf True setzt, dann wird auch diese direkt beim Programmstart angezeigt, ohne vorher irgendwas zu drücken.


Morpheus1572 - Sa 05.04.08 10:46

Kinder kinder, wie peinlich ist das denn bitte?

hab den fehler gefunden. ich hatte den FormStyle auf normal zu stehen. dann wird es nicht angezeigt. Oh mann.

aber kann ich dann nur noch mit Child-Fenstern arbeiten???

Naja, ich sehe es jetzt. trotzdem danke leute. und sorry für die dummheit.

Gruß Morph.