Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Nebenfenster zum Hauptfenster machen? (https://www.delphipraxis.net/83904-nebenfenster-zum-hauptfenster-machen.html)

mlspider 8. Jan 2007 10:28


Nebenfenster zum Hauptfenster machen?
 
Ist es möglich zur Laufzeit ein Nebenformular zum Hauptformular zu machen?

Tormentor32 8. Jan 2007 10:47

Re: Nebenfenster zum Hauptfenster machen?
 
Willst du ein zweites Fenster im Designmodusgestalten un "Mit Leben Füllen" und das dann ANzeigen oder willst volldynamisch ein Formular erstellen?

mlspider 8. Jan 2007 10:52

Re: Nebenfenster zum Hauptfenster machen?
 
Das Problem ist folgendes: Das Hauptormular soll beim start der Applikation 2 Strings vergleichen. Sind diese identisch, soll ein verfügbares Formular (in den Projektoptionen auf Verfügbar gesetzt) zum Mainform gemacht werden und das ursprüngliche Hauptfenster zerstört werden.

Tormentor32 8. Jan 2007 10:59

Re: Nebenfenster zum Hauptfenster machen?
 
Kannst du nicht einfach
Delphi-Quellcode:
Form1.hide;
Form2.Show;
machen? Und dann beim onClose Ereignis von Form 2 Form1.close machen? (ungetestet)

Gruß

mlspider 8. Jan 2007 11:02

Re: Nebenfenster zum Hauptfenster machen?
 
Auf diese gloreiche Idee bin ich auch schon gekommen. Leider wäre Form2 nicht das Hauptformular.

Christian Seehase 8. Jan 2007 11:05

Re: Nebenfenster zum Hauptfenster machen?
 
Moin Mario,

was spricht dagegen, den Vergleich der Strings in der Projektdatei vorzunehmen, und dann, je nach Ergebnis, das eine oder das andere Application.CreateForm auszuführen?

mlspider 8. Jan 2007 11:06

Re: Nebenfenster zum Hauptfenster machen?
 
Oha, geht denn das so ohne weiteres? Und wie könnte dies aussehen?

SirThornberry 8. Jan 2007 11:15

Re: Nebenfenster zum Hauptfenster machen?
 
Wenn du nur 2 Strings vergleichen willst brauchst du doch kein Formular. Lass einfach das Formular weg wenn du darin nur die Strings vergleichst und gut ist. Oder erstelle das Vergleichsformular in der gleichen Art und Weise wie ein Splashscreen gehandhabt wird.

mlspider 8. Jan 2007 11:16

Re: Nebenfenster zum Hauptfenster machen?
 
Slashscreen. Das ist mein Stichwort. Danke.

marabu 8. Jan 2007 11:18

Re: Nebenfenster zum Hauptfenster machen?
 
Hallo,

vielleicht soll der Vergleichsstring über das eine Formular eingegeben werden?

Dieser thread könnte interessant sein: login fuer db in dpr datei

Freundliche Grüße

mlspider 8. Jan 2007 11:40

Re: Nebenfenster zum Hauptfenster machen?
 
Ich habe jetzt folgendes in der Projektdatei zu stehen:

Delphi-Quellcode:
program Streamjoiner;

uses
  Forms,
  IniFiles,
  StdCtrls,
  ExtCtrls,
  Variants,
  SysUtils,
  PlayerUnit in 'PlayerUnit.pas' {Player},
  VisualUnit in 'VisualUnit.pas' {Visual},
  TracklistUnit in 'TracklistUnit.pas' {Tracklist},
  EQUnit in 'EQUnit.pas' {EQ},
  AboutUnit in 'AboutUnit.pas' {About},
  StartUnit in 'StartUnit.pas' {Start},
  IntroUnit in 'IntroUnit.pas' {Intro};

function vergleicheStringsN(s1, s2:string; n:Word): Boolean;

 var i: Word;
  function delLZ(s: string): string;
  var ss: string;
      i, j: Word;
  begin
   j:=0; ss:='';
   for i:=1 to Length(s) do
   begin
    if (s[i] <> ' ') and (s[i] <> '-') then
    begin
     Inc(j);
     ss:= ss + s[i]
    end;
    if j=n then Break
   end;
   Result := UpperCase(ss)
  end;

  begin
   if delLZ(s1)=delLZ(s2) then Result:=True else Result:=False;
  end;
  var flag:word;

{$R *.res}

begin
  Application.Initialize;
  if vergleicheStringsN(Intro.Label1.Caption, Intro.Label2.Caption, 50)=False then begin
  Application.CreateForm(TIntro, Intro);
  Application.CreateForm(TStart, Start);
  end else begin
  Application.CreateForm(TStart, Start);
  Application.CreateForm(TIntro, Intro);
  end;
  Application.Run;
end.
Leider gibt es nur eine Fehlermeldung.

Christian Seehase 8. Jan 2007 11:53

Re: Nebenfenster zum Hauptfenster machen?
 
Moin Mario,

Zitat:

Zitat von mlspider
Leider gibt es nur eine Fehlermeldung.

und wir sollen jetzt raten welche? ;-)

mlspider 8. Jan 2007 12:04

Re: Nebenfenster zum Hauptfenster machen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe die Meldung mal beigefügt. Ich kann damit leider nichts anfangen.

Tormentor32 8. Jan 2007 12:16

Re: Nebenfenster zum Hauptfenster machen?
 
Erscheint mir logisch, denn du vergleichst zwei Strings, die sich in der Form INTRO befinden, und danach erstellst du die Form erst...


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:15 Uhr.

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