![]() |
Prozeduren aus Unit1 aus Unit2 Starten.
Hi,
Ich hab Form1 und Fomr2 (dementsprechend auch unit 1 und 2), Ich möchte aus Form1 per button Form2 starten. Das geht super indem ich in unit1 unter "uses" unit2 eintrage. Jetzt gebe ich in Form2 was ein und rechne damit in unit2 durch die gegend. Wenn ich fertig bin soll die Prozedur"xy" aus Unit1 gestartet werden ( die holt sich dann den Wert mit dem ich gerechnet hab und macht in Unit1 weiter) --------- So dachte ich mir das ... doch wie bekomme ich die prozedur aus Unit1 aus Unit2 heraus gestartet? -einfach Unit1.xy; hinschreiben geht ja net, weil der Unit 1 ja nicht kennt. -Unit1 in uses bei Unit2 eintragen geht ja auch net. Was nun? ___ hab schon kreftig gegoogled aber nix gefunden :( |
Re: Prozeduren aus Unit1 aus Unit2 Starten.
Wenn du es im Implementationabschnitt machst, geht es in den meisten Fällen:
Delphi-Quellcode:
implementation
uses Unit1; |
Re: Prozeduren aus Unit1 aus Unit2 Starten.
Wenn du es unbedingt so machen willst, mußt du Unit1 in Implementation-Teil der Unit2 einzubinden.
|
Re: Prozeduren aus Unit1 aus Unit2 Starten.
Ok - das Funktioniert.
"Wenn du es unbedingt so machen willst," Kann ich denn eine Form 2 ohne eine unit 2 aufrufen --- oder wie würdest du das denn machen wenn eine 2. Form erscheinen soll - da tippt man was ein und dann soll sie bei klick auf ok wieder verschwinden? |
Re: Prozeduren aus Unit1 aus Unit2 Starten.
Zitat:
also erstmal ist es immer ganz schlechter Stil, wenn du die Units über Kreuz einbindest. Das geht immer anders (sauber halt). Ein Formular sollte immer nur die Anzeige beinhalten, alles was mit Daten gemacht wird kannst du leicht in eine eigene Unit (ohne Formular) einfügen. Diese kann dann in jedem Formular eingebunden werden. Während sich das Design deiner Formulare häufig ändert, ist dies bei der Logik (was mit den Daten passiert) eher selten der Fall, du profitierst also von der Trennung. Was das schließen angeht, so kannst du in der Behandlung des Button-Click einfach ein self.Close einfügen, dann wird das geöffnete Formular geschlossen. Schließen heißt dabei nur, dass es nicht mehr sichtbar ist, die Daten bleiben vollständig erhalten. Die kann Form1 (dass ja Form2 kennt) in Ruhe auslesen und verarbeiten. Du kannst zudem das Form2 modal anzeigen (ShowModal), das heißt dass du erst das Form2 schließen musst, bevor du wieder mit Form1 arbeiten kannst. Gruß der Unwissende |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20: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