AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Form von Unit aus kontrollieren/steuern

Form von Unit aus kontrollieren/steuern

Ein Thema von Fisti · begonnen am 9. Jan 2009 · letzter Beitrag vom 9. Jan 2009
Antwort Antwort
Fisti

Registriert seit: 9. Jan 2009
14 Beiträge
 
#1

Form von Unit aus kontrollieren/steuern

  Alt 9. Jan 2009, 10:07
Hallo zusammen

Ich habe eine Form die ich als GUI benutze um einen Testablauf mit 3-5 Schritten darzustellen. Nun möchte ich diese Form für unterschiedliche Tests benutzen, was auch ganz verschiedene Abläufe gibt.

Denn ganzen Code in dieser einen Form ist sehr unschön und schwer zu pflegen, darum wollte ich die Form nur noch als GUI benutzen und die Testabläufe extern in einer Unit haben.

Mein erster Gedanke war eine Unit die den ganzen Grundablauf eines Testes handelt. Sprich die Form aufruft und diese auch steuert.
Steuert: Weiter/Zurück Button, ev. Textfelder auslesen

Nun stehe ich aber an. Wenn ich aus der Unit raus diese Form kreiere
Fmyform := TTestFormFrm.Create(nil); wie kann ich dann nachher auf die Form zugreifen, sprich wie bekomme ich in der Unit mit, wann der Benutzer weiter klickt??


Ich hoffe jemand von euch kann mir helfen, beschäftige mich doch scho einige Zeit mit diesem Problem. Vieleicht bin ich auch völlig auf dem Holzweg und es würde auf eine andere Weise viel einfacher gehen.

Bin um jeden Tipp dankbar.

Danke im Voraus.
Gruss Christian

Ps: verwende Delphi 7
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Form von Unit aus kontrollieren/steuern

  Alt 9. Jan 2009, 10:13
Befasse Dich mit Events. Dann kannst Du in Form ein Event "WeiterClicked" defnieren und in der Unit darauf reagieren.

Gruß,
Jens
Jens
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#3

Re: Form von Unit aus kontrollieren/steuern

  Alt 9. Jan 2009, 12:11
Hallo,

wie ist das gedacht?

Deine Units machen irgendwas, dann wird das Formular angezeigt und Du wartest auf eine Benutzeraktion. Abhängig von dieser Benutzeraktion soll irgendetwas geschehen (weitermachen, wiederholen, abbrechen, was auch immer).
Wenn Du das Formular in diesem Fall mit ShowModal aufrufst, könntest Du jedem Button über ModalResult einen anderen Wert zuweisen (hier sind Integerwerte möglich, also mehr, als der Objektinspektor als Vorschläge zur Verfügung stellt).
In den Units kannst Du dann z. B. über
Delphi-Quellcode:
  case FortschrittsDialog.ShowModal of
    1 : //
    2 : //
    ...
  else
    // Defaultaktion
  end;
abfragen, was der Benutzer gemacht hat.
Dies funktioniert jedoch nicht, wenn das Formular permanent angezeigt werden soll.

Eine andere Möglichkeit wäre, in den Units den Dir bekannte Buttons... auf dem Formular Ereignisse zuzuweisen, die in der Unit definiert sind, so kann jede Unit ihre eigenen Ereignisroutinen mitbringen und das Formular führt die entsprechende Funktion aus.
Delphi-Quellcode:
// in Deiner Unit definiert
procedure myEnde(Sender: TObject);
begin
  Fmyform.Close;
  // und irgendwas weiteres an Code
end;
...
  Fmyform := TTestFormFrm.Create(nil);
  Fmyform.OnClick := myEnde;
  // u.s.w. für jeden Button, auch OnEdit, OnClick, OnExit für Eingabefelder... sind möglich,
  // also alles das, was Du auch in der Formularunit machen könntest
  Mit Zitat antworten Zitat
Fisti

Registriert seit: 9. Jan 2009
14 Beiträge
 
#4

Re: Form von Unit aus kontrollieren/steuern

  Alt 9. Jan 2009, 14:05
vielen dank nahpets, hat mich schon ein stück weiter gebracht.

gruess christian
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:30 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