Entwickler-Ecke
Sonstiges (Delphi) - Dialog erstellen ähnlich OpenDialog1
patmann2001 - Mi 21.08.02 11:57
Titel: Dialog erstellen ähnlich OpenDialog1
Hallo
Wenn man denn opendialog1 unter Delphi (4) aufrufen möchte gibt man ein
Quelltext
1: 2: 3: 4: 5: 6: 7:
| If opendialog1.execute then BEGIN -Anweisung- -Anweisung- -Anweisung- -Anweisung- END; |
Ich habe nun eine eigene Form erstellt und möchte, das sie sich genauso verhält. Sprich:
Quelltext
1: 2: 3: 4: 5: 6: 7:
| If form1.execute then BEGIN -Anweisung- -Anweisung- -Anweisung- -Anweisung- END; |
wie mache ich das?
cu Patmann
Klabautermann - Mi 21.08.02 12:06
Hallo,
du must deinem Formular einfach eine Funktion Execute Verpassen.
Dafür schreibst du unter Public einfach:
Quelltext
1: 2:
| public function Execute : Boolean; |
die funktion musst du natürlich ausprogrammieren. Z.b. so:
Quelltext
1: 2: 3: 4:
| function tMyOpenDialog.Execute : Boolean; begin Result := ShowModal = mrOK; end; |
Diese darf natürlich auch Komplexer werden.
Gruß
Klabautermann
patmann2001 - Mi 21.08.02 13:05
Hi
Ich habe da aber jetzt ein Problem:
Quelltext
1: 2: 3:
| public function execute:Boolean; wort:STRING; |
Die Variable hatte ich vorher schon in Public stehen. Jetzt bekomme ich Fehlermeldungen:
Zitat: |
[Fehler] Felddefinition nicht erlaubt nach Methoden oder Eigenschaften
|
Wenn ich die Deklaration undrehe bekomme ich
Zitat: |
[Fehler] Ungenügende Forward- oder External-Deklaration: 'form1.execute'
|
Wenn ich dann Forward; anhänge bekomme ich wieder den ersten Fehler.
Ein VAR vor wort:STRING; nützt auch nichts.
Was jetzt?
cu Patmann
Klabautermann - Mi 21.08.02 13:41
Hallo,
patmann2001 hat folgendes geschrieben: |
Wenn ich die Deklaration undrehe bekomme ich
Zitat: |
[Fehler] Ungenügende Forward- oder External-Deklaration: 'form1.execute'
|
|
das mit dem Umdrehen ist schon richtig. Du must die Funktion nur wie oben Dargestellt auch ausprogrammieren (im implementation anschnit). Wenn du eine neuere Delphi Pro (oder besser) Version hast musst du nur auf die neue Zeile gehen und Strg+Shif+C drücken, dann wird dir ein leerer Funktionsrumf automatisch eingefügt.
Gruß
Klabautermann
lemming - Mi 21.08.02 13:57
Du kannst dieses Formular auch Modal aufrufen. D.h. deine hintere Anwendung "friert" in gewisser Weise ein bis das Formular sich schliesst.
Dann solltest du halt noch irgendwie prüfen ob der user auf Abbrechen geklickt hat. Z.B. ein public Boolean in Form1 einfügen.
Bisschen Stümperhaft, aber funktionsfähig
Klabautermann - Mi 21.08.02 14:53
@lemming:
Was alles in der funktion:
Quelltext
1: 2: 3: 4:
| function tMyOpenDialog.Execute : Boolean; begin Result := ShowModal = mrOK; end; |
passiert ;).
Gruß
Klabautermann
lemming - Mi 21.08.02 16:06
Rofl, :lol:
Sorry, manchmal überfliege ich die Texte wohl wirklich ein bisschen zu schnell :oops:
patmann2001 - Mi 21.08.02 21:33
Tja
Leider bekomme ich auch weiterhin eine Fehlermeldung wenn ich versuche Variablen und Proceduren/Functionen im Public Teil gemeinsam zu erstellen. :cry:
Macht aber nicht, ich habe das jetzt so gelöst wie lemming es vorgeschlagen hat und es klappt damit ganz prima.
Danke schön :lol:
cu Patmann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!