AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Assistent-Probleme

Ein Thema von Dunkelbunt27 · begonnen am 15. Feb 2011 · letzter Beitrag vom 16. Feb 2011
Antwort Antwort
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#1

Assistent-Probleme

  Alt 15. Feb 2011, 18:27
Hallo Delphi-PRAXIS,

zu meinem Programm gibt es einen Assistenten, der als erste Unit fungiert.
Man startet also den Assistenten, dann kann man Einstellungen vornehmen und "Fortsetzen" oder Schließen(Rotes X oben rechts).
Das Problem ist nun, wenn ich Fortsetzen klicke, soll der Assistent verschwinden und das Hauptprogramm gestartet werden.
Das Problem ist, wenn der Assistent geschlossen wird, wird alles geshclossen, auch das Hauptprogramm.
Wenn der Assistent alleine geschlossen wird, also bevor man auf "Fortsetzen" klickt und das Hauptprogramm noch gar nicht gezeigt wird, ist das gut so.
Es reicht ja leider nicht aus nur den Assistenten unsichtbar zu machen, da er nach Programmschluss immernoch läuft...

Hat jemand eine Idee, wie ich beides unabhängig voneinander zeigen (Hauptprogramm.show und schließen (...?) kann, bzw. wie man auf die Einstellungen für das Rote X zugreifen kann?

FG Dunkelbunt
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#2

AW: Assistent-Probleme

  Alt 15. Feb 2011, 18:53
Ich hätte folgenden Vorschlag:
Öffne den Quelltext des Projektes: Projekt->Quelltext anzeigen

Jetzt trage vor dem CreateForm -Aufruf deines Hauptformulares folgendes ein:
Delphi-Quellcode:
  DeinAssistent:=TDeinAssistent.Create(Application);
  try
    DeinAssistent.Parent:=Application;//<--Die Zeile ist vielleicht Murks - wenn ja dann entfernen
    DeinAssistent.ShowModal;//showModal liefert zurück mit welchem ModalResult dein Formular geschlossen wurde.
  finally
    DeinAssistent.Free;
  end;
Dann gehst du in die OnClick-Methode des "Fortsetzen-Buttons".
Dort trägst du am Ende folgendes ein:
Delphi-Quellcode:
self.ModalResult:=mrOk;//du könntest das abfragen s.oben // im abbrechen button ModalResult:=mrCancel
self.Close;

Geändert von WM_CLOSE (15. Feb 2011 um 18:56 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#3

AW: Assistent-Probleme

  Alt 15. Feb 2011, 19:03
Leider kommt mit dem Vorschlag: "'Hauptprogramm.exe' kann nicht erstellt werden"...

Ich denke du bist davon ausgegangen, dass ich das Ganze in das Hauptprogramm reinschreibe, nicht?
Also praktisch vor dem Hauptprogramm dadurch den Assistenten aufrufe, richtig?

Ich starte jedenfalls erst den Assistenten.exe der starten dann auf Druck von "Fortsetzen" das Hauptprogramm.exe also Hauptprogramm.show, dann sehen ich beide Programme hintereinander.
...
Wenn ich es also in den Assistenten eintrage kommt der besagte Fehler, ich bin noch gar nicht bis zu dme Button vorgedrungen...

EDIT1: Ich konnte jetzt eine detailliertere Fehlermeldung bekommen:
"Diese Form des Methodenaufrufs ist nur für Klassennmethoden erlaubt..."
Delphi-Quellcode:
Assistent:=TAssistent.Create(Application); // muss ich Application ersetzen?
  try
    TAssistent.ShowModal;
  finally
    TAssistent.Free;
  end;

Geändert von Dunkelbunt27 (15. Feb 2011 um 19:08 Uhr)
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#4

AW: Assistent-Probleme

  Alt 15. Feb 2011, 19:07
OK: ich glaube ich habe dich falsch verstanden. Du hast also 2 Exen?
Dann Rate ich dir mal nach "Programm starten und auf beenden warten" zu suchen.

Ich dachte, du hättest 2 Formulare in einer Anwendung, sorry.

Oder soll der Assistent das Hauptprogramm starten? Dann schau dir MSDN-Library durchsuchenShellExecute oder MSDN-Library durchsuchenCreateProcess an

Geändert von WM_CLOSE (15. Feb 2011 um 19:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#5

AW: Assistent-Probleme

  Alt 15. Feb 2011, 19:08
Danke, ich suche, kein Problem =D

EDIT1:
Ich habe nun doch nur 1ne Exe, kann also dienen Vorschlag probieren,..... Zum Glück, das andere klang etwas komplizierter...

Geändert von Dunkelbunt27 (15. Feb 2011 um 19:20 Uhr)
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#6

AW: Assistent-Probleme

  Alt 15. Feb 2011, 19:12
[ot]
Das mit dem Bearbeiten hat offensichtlich keinen Sinn
[/ot]

Zitat:
Assistent:=TAssistent.Create(Application); // muss ich Application ersetzen?
try
TAssistent.ShowModal;
finally
TAssistent.Free;
end;
Du solltest

TAssistent.ShowModal; durch Assistent.ShowModal ersetzen, denn du willst ja die Instanz (Assistent)und nicht die Klasse (TAssistent)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:22 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 by Thomas Breitkreuz