Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Probleme mit OnCreate und Onactivate einer Form (https://www.delphipraxis.net/16216-probleme-mit-oncreate-und-onactivate-einer-form.html)

Legolas 12. Feb 2004 19:27


Probleme mit OnCreate und Onactivate einer Form
 
Hallo alle zusammen,

ich habe da ein kleineres Problem.

Ich entwickle gerade ein Datenbankprogramm bei dem man am Anfang, abhängig von den Einstellungen des Benutzers, eine Datenbank auswählen oder die zuletzt geöffnete benuzen kann. Jetzt habe ich folgendes Problem:

Wenn ich den OpenDialog im OnCreate Ereignis plaziere, wird der Dialog noch vor dem Hauptfenster angezeigt und wenn ich ihn im OnActivate plaziere erscheint der Dialog immer wenn das Hauptfenster aktiviert wird.

ich möchte allerdings das beim Programmstart der Dialog erst nach dem Erscheinen des Hauptfensters gezeigt wird.
Irgendwie komme ich also mit den beiden Ereignissen OnCreate und OnActivate nicht so recht weiter.

Hat jemand eine Idee dazu???

Matze 12. Feb 2004 19:29

Re: Probleme mit OnCreate und Onactivate einer Form
 
Also bei mir geht es im OnActivate schon. :gruebel:

Die Form wird ja auch erst aktiviert, wenn sie vollständig geladen ist.

Legolas 12. Feb 2004 19:33

Re: Probleme mit OnCreate und Onactivate einer Form
 
Hallo Matze,

klar, haste recht, bei mir geht es auch, aber wenn ich z.B. die Datenbank dann ausgewählt habe und dann die Form für die Einstellungen öffne und dann auf Ok, Abbrechen oder Übernehmen klicke, wir die Hauptform wieder aktiv und der Opendialog erscheint erneut (wenn ich's im OnActivate plaziere).

Stanlay Hanks 12. Feb 2004 19:36

Re: Probleme mit OnCreate und Onactivate einer Form
 
Hi. Nimm eine Globale Boolschen Varibale, z.B. "FirstStart : Boolean" und setz die beim ersten Start auf false. Dann kannst du im OnShow z.B. abfragen:

Delphi-Quellcode:
IF FirstStart = true THEN
  IF OpenDialog1.Execute THEN
   ...
Man liest sich, Stanlay :hi:

Legolas 12. Feb 2004 19:39

Re: Probleme mit OnCreate und Onactivate einer Form
 
Hi Stanlay,

auweia, klar du hast recht. ich sehe den Wald vor lauter Bäumen nicht. Da hätte ich auch drauf kommen können. :oops:

Ich danke dir für den kleinen Denkanstoß.

Legolas 12. Feb 2004 19:48

Re: Probleme mit OnCreate und Onactivate einer Form
 
Ich wieder,

@Stanlay: Die Idee war wirklich gut. Allerdings muß ich sagen, daß dies nicht mein Problem löst. Der OpenDialog wird wieder VOR der Hauptform angezeigt, dann kann ich eine Datenbank auswählen und dann erst wird die Hauptform angezeigt. Ich hätte es aber gerne andersrum. Erst die Hauptform und dann den OpenDialog.

Hast du oder irgendjemand ne andere Idee?

Stanlay Hanks 12. Feb 2004 19:52

Re: Probleme mit OnCreate und Onactivate einer Form
 
Dann müsstest du das ganze ins OnActivate setzen.

Man liest sich, Stanlay :hi:

Matze 12. Feb 2004 19:54

Re: Probleme mit OnCreate und Onactivate einer Form
 
Also, das ist komisch, bei mir geht es so einwandfrei:

Delphi-Quellcode:
var
  Form1: TForm1;
  FirstStart: boolean = true;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);
begin
  if FirstStart then
  begin
    OpenDialog1.Execute;
    FirstStart := false;
  end;
end;

Stanlay Hanks 12. Feb 2004 19:55

Re: Probleme mit OnCreate und Onactivate einer Form
 
Das lag wohl daran, dass ich im ersten Post geschrieben hab, er solls ins OnShow schreiben :oops: sry.

Man liest sich, Stanlay :hi:

Legolas 12. Feb 2004 20:00

Re: Probleme mit OnCreate und Onactivate einer Form
 
@all:

ähm, reusper. Ja klar, ins OnActivate, logisch. :wall: :wall: :wall:

Danke euch.

neolithos 12. Feb 2004 21:19

Re: Probleme mit OnCreate und Onactivate einer Form
 
Kann man das nicht auch in OnCreate:


Delphi-Quellcode:
Application.ProcessMessages;
OpenDialog1.Execute;

Stanlay Hanks 12. Feb 2004 21:22

Re: Probleme mit OnCreate und Onactivate einer Form
 
Das dürfte nicht viel bringen, weil das OnShow, wo das Form sichtbar wird, ja erst nach dem Abarbeiten den Codes im OnCreate etc. ausgeführt wird.

Man liest sich, Stanlay :hi:

neolithos 12. Feb 2004 21:23

Re: Probleme mit OnCreate und Onactivate einer Form
 
Ich probier es mal!

Stanlay Hanks 12. Feb 2004 21:25

Re: Probleme mit OnCreate und Onactivate einer Form
 
So geht's aber anscheinend:

Delphi-Quellcode:
Form1.Show;
OpenDialog1.Execute;

neolithos 12. Feb 2004 21:25

Re: Probleme mit OnCreate und Onactivate einer Form
 
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Show;
  ShowMessage('Hallo Welt');
end;
So ist es besser!

Testet: Delphi 7 Prof.

Legolas 12. Feb 2004 22:49

Re: Probleme mit OnCreate und Onactivate einer Form
 
@all:

also im OmActivate Ereignis tut es genau was es soll und wie ich es haben wollte.

Dankeschön.

neolithos 12. Feb 2004 23:00

Re: Probleme mit OnCreate und Onactivate einer Form
 
Und wieder eine Variable mehr in der Application.

Meine Lösung nicht gesehen???


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz