Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Form Reihenfolge abändern (https://www.delphipraxis.net/170089-form-reihenfolge-abaendern.html)

Velaskes 30. Aug 2012 10:48

Form Reihenfolge abändern
 
Hallo
Ich habe nun mein Programm fast fertig und musste aber gestern feststellen, dass ich eine Login Seite vergessen habe.
Ich programmiere via Delphi XE eine Webapplication mittels IntraWeb/VCL for WEB. Ich wollte nun fragen wie ich meine Login-Seite als Startseite aufrufen kann. Noch startet sich bei mir meine alte erste Seite, die nun die Nummer zwei sein soll.
Ich habe bereits versucht das Hauptformular(Projekt->Option->Formulare), welches bei mir leer ist, zu ändern. Jedoch hatte das keinen Effekt.
An dieser Stelle wird mir natürlich die Bedeutung einer Projekt-Planung bewusst.

Kann mir jemand helfen oder darf ich mein Projekt komplett neu schreiben?

Vielen Dank im vorraus.

Grüsse

Chriscode 30. Aug 2012 12:55

AW: Form Reihenfolge abändern
 
Hallo,
schau mal in die .dpr Datei. Dort kannst du festlegen welche Form zuerst erzeugt wird:
Code:
Application.CreateForm(TForm1, Form1);
Zusätzlich würde ich die Reihenfolge im uses Bereich entsprechend der gewünschten Reihenfolge ändern, da bin ich mir allerdings nicht 100% sicher ob dies erforderlich ist.

LG,
Chris

himitsu 30. Aug 2012 13:05

AW: Form Reihenfolge abändern
 
Bzw. schau mal in die Projektoptionen ... da sollte es auch drinstehn.

Velaskes 30. Aug 2012 13:39

AW: Form Reihenfolge abändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Vielen dank für deinen Antwort aber bis jetzt kam ich noch nicht weiter mit den Ratschlägen: hier erstmal meine *.dpr da finde ich nur ein "TIWSTart" das nirgendwo hinführt.
Delphi-Quellcode:
program IWWEBAppPM;

uses
  Forms,
  IWStart,
  UTF8ContentParser,
  Login in 'Login.pas' {iwfLogin: TIWAppForm},
  PatientList in 'PatientList.pas' {iwfPatientList: TIWAppForm},
  ServerController in 'ServerController.pas' {IWServerController: TIWServerControllerBase},
  UserSessionUnit in 'UserSessionUnit.pas' {IWUserSession: TIWUserSessionBase},
  PatientData in 'PatientData.pas' {dmPatient: TDataModule},
  PatientDetails in 'PatientDetails.pas' {IWFPatientDetails: TIWAppForm},
  StudyList in 'StudyList.pas' {iwfStudyList: TIWAppForm},
  fViewer in 'fViewer.pas' {iwfViewer: TIWAppForm},
  SeriesList in 'SeriesList.pas' {iwfSeriesList: TIWAppForm},
  fViewer2 in 'fViewer2.pas' {iwfViewer2: TIWAppForm};

{$R *.res}

begin
  TIWStart.Execute(True);
end.
und hier noch mein Projekt->Option->Formulare Fenster(Siehe Anhang).Hab keine Ahnung ob die Felder so leer und ungefüllt korrect sind.
Achso wenn ich ein "Application.CreateForm(TIWFLogin,iwfLogin)" einfüge bringt er mir den Fehler:
Zitat:

Undeklarierter Bezeichner
Wenn ich dann versuche das iwfLogin zu deklarieren, komm ich vom Gedankengang nicht mehr klar.
Vllt. hilft es ja *hopefully*

Chriscode 30. Aug 2012 13:47

AW: Form Reihenfolge abändern
 
Dein Loginformular muss natürlich automatisch erzeugt werden in den Projektoptionen :wink:

LG,
Chris

Velaskes 30. Aug 2012 13:58

AW: Form Reihenfolge abändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
haha. ja so war auch mein Gedankengang. also natürlisch doppelklick auf die iwflogin. aber beim Klick
auf okay kam dann

Zitat:

Der Aufruf von Application.CreateForm fehlt oder nicht korrekt.
Also hinzugefügt dann. und natürlich auch eine Variable im iwflogin angelegt

Delphi-Quellcode:
type
  TiwfLogin = class(TIWAppForm)
    iwlUsername: TIWLabel;
    iwlPassword: TIWLabel;
    iwePassword: TIWEdit;
    iweUsername: TIWEdit;
    iwbLogin: TIWButton;
    IWTemplateProcessorHTML1: TIWTemplateProcessorHTML;
  public

  end;

  var iwfLogin : TiwfLogin;
implementation

{$R *.dfm}

end.
Und die *.dpr bearbeiten. Änderungen kannst du im Screenshot sehen. aber dann zeigt mir Delphi:

Zitat:

Exception EAccessViolation in Modul IWWEBAppPM.exe bei 001CA226.

Zugriffsverletzung bei Adresse 005CA226 in Modul 'IWWEBAppPM.exe'. Lesen von Adresse 00000144.

CCRDude 30. Aug 2012 14:15

AW: Form Reihenfolge abändern
 
Spontan würde ich raten, dass die Reihenfolge der Einbindung der Units eine Rolle spielt, denn da die Formulare sich nicht in der Hauptdatei registrieren, tun Sie das evtl. im initialization oder in Klassenkonstruktoren innerhalb der Units? Wenn "iwfViewer2" die alte neue Seite 2 ist, spräche das dafür. Also den uses-Teil umsortieren?

Velaskes 30. Aug 2012 14:19

AW: Form Reihenfolge abändern
 
Zitat:

Zitat von CCRDude (Beitrag 1180687)
Spontan würde ich raten, dass die Reihenfolge der Einbindung der Units eine Rolle spielt, denn da die Formulare sich nicht in der Hauptdatei registrieren, tun Sie das evtl. im initialization oder in Klassenkonstruktoren innerhalb der Units? Wenn "iwfViewer2" die alte neue Seite 2 ist, spräche das dafür. Also den uses-Teil umsortieren?

Leider muss ich dich enttäuschen. die Patientlist.pas war die alte erste Seite.

Chriscode 30. Aug 2012 14:45

AW: Form Reihenfolge abändern
 
Zitat:

Zitat von Velaskes (Beitrag 1180686)

Delphi-Quellcode:
type
  TiwfLogin = class(TIWAppForm)
    iwlUsername: TIWLabel;
    iwlPassword: TIWLabel;
    iwePassword: TIWEdit;
    iweUsername: TIWEdit;
    iwbLogin: TIWButton;
    IWTemplateProcessorHTML1: TIWTemplateProcessorHTML;
  public

  end;

  var iwfLogin : TiwfLogin;
implementation

{$R *.dfm}

end.

Mit der von dur geposteten Projektdatei kann es definitiv nicht funktionieren. Dort wird doch überhaupt keine Anweisung ausgeführt. Wo soll denn da ein Formular erzeugt werden?

LG,
Chris

himitsu 30. Aug 2012 14:46

AW: Form Reihenfolge abändern
 
zum Anhang in #4

Kannst du da bei "Hauptformular" dein Loginfom auswählen?

Velaskes 30. Aug 2012 14:59

AW: Form Reihenfolge abändern
 
Zitat:

Zitat von himitsu (Beitrag 1180694)
zum Anhang in #4

Kannst du da bei "Hauptformular" dein Loginfom auswählen?

auf ganzer Linie nein. egal ob ich deklariere oder ein Verweis drauf mache..etc.

Bjoerk 30. Aug 2012 15:07

AW: Form Reihenfolge abändern
 
wie wärs mal mit ?

Delphi-Quellcode:
  Application.Initialize;
  Application.CreateForm...
  Application.Run;

himitsu 30. Aug 2012 15:27

AW: Form Reihenfolge abändern
 
Zitat:

Zitat von Bjoerk (Beitrag 1180700)
wie wärs mal mit ?

Siehe Post #4

Velaskes 30. Aug 2012 15:32

AW: Form Reihenfolge abändern
 
Zitat:

Zitat von Bjoerk (Beitrag 1180700)
wie wärs mal mit ?

Delphi-Quellcode:
  Application.Initialize;
  Application.CreateForm...
  Application.Run;


Führt leider auch nicht zum Erfolg. Ich bin schon beinahe gewillt einfach nur eine Form von der alten ersten Form öffnen zulassen, die dann einen Login Präsentiert und in einer schleife bleibt, solange der Login nicht korrekt ist. Spielereihen wie nach 3* abbruch kann man ja trotzdem einbauen. wäre aber eine unsaubere Variante... aber zumindest ne alternative.

Besides: trotzdem erstmal vielen dank für eure Hilfe. Ich werde weiterhin ein offenes Auge haben für meinen Beitrag fals doch noch die Lösung schlechthin komt.

Zitat:

Spontan würde ich raten, dass die Reihenfolge der Einbindung der Units eine Rolle spielt, denn da die Formulare sich nicht in der Hauptdatei registrieren, tun Sie das evtl. im initialization oder in Klassenkonstruktoren innerhalb der Units?
ICh weiss nicht wie ich auf diese Frage Anworten finde.

Jumpy 30. Aug 2012 15:45

AW: Form Reihenfolge abändern
 
Zitat:

Zitat von Bjoerk (Beitrag 1180700)
wie wärs mal mit ?
Delphi-Quellcode:
  Application.Initialize;
  Application.CreateForm...
  Application.Run;

Ich schätze mal, dass hier alles anders ist, da es sich ja um eine
IntraWeb/VCL for WEB
Anwendung handelt.

Velaskes 3. Sep 2012 08:37

AW: Form Reihenfolge abändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
So Lösung hab ich dann wohl doch noch gefunden, dummerweise erst nach dem ich das Projekt neu aufgesetzt hab.
Also:

Auf der Start-Form(also der bei alles beginnt) gibt es ganz unten einen "initialization" Eintrag. und bei diesem wird dem Projekt mitgeteilt, dass die vorliegende Form die Main-Form ist.

Tada: Dieser Eintrag muss natürlich verschoben werden und kann so jede Form zur neuen Hauptform machen.

Problem gelöst und selbst getestet.

Wünsche noch einen schönen Start in die Woche :-)

himitsu 3. Sep 2012 15:15

AW: Form Reihenfolge abändern
 
Das schon etwas böse.

Aber vermutlich kann man sich diese Zeile auch ganz einfach in die DPR (als erste Codezeile) verschieben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:17 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