AGB  ·  Datenschutz  ·  Impressum  







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

Procedure mit TForm1 in extra Unit?

Ein Thema von MCXSC · begonnen am 30. Okt 2008 · letzter Beitrag vom 30. Okt 2008
Antwort Antwort
Seite 2 von 3     12 3      
MCXSC
(Gast)

n/a Beiträge
 
#11

Re: Procedure mit TForm1 in extra Unit?

  Alt 30. Okt 2008, 20:59
Zitat von Die Muhkuh:
Ja, reicht.
Nur das die Funktion eben in einer anderen Unit steht. (Bitte lesen )
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#12

Re: Procedure mit TForm1 in extra Unit?

  Alt 30. Okt 2008, 21:05
Achso, Du willst eine Methode von MainForm (in Mainform.pas) in Unit2.pas reinstecken? Das geht nicht.
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#13

Re: Procedure mit TForm1 in extra Unit?

  Alt 30. Okt 2008, 21:09
Ja, wie gesagt: Ich habe in der Unit "UnitXYZ" eben eine Procedure. Zum Bleistift:

Delphi-Quellcode:
procedure TuDies(NehmeString: String);
begin
with MainFrm do begin
Button1.Caption := NehmeString;
Label1.Caption := NehmeString;
Caption:= NehmeString;
end;
end;
Wie man sieht, beziehen sich alle Befehle in der Prozedur auf Komponenten/Dinge aus der Unit MainForm (bzw. dem Form MainFrm). Die Procedure wird eben in den unterschiedlichsten Units aufgerufen. Bei unzähligen Prozeduren, die alle ein "with...end" enthalten, kommen da einige Zeilen zusammen.

Deswegen wollte ich eben eine Funktion basteln, die ohne den "with ... end"-Part auskommt...
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#14

Re: Procedure mit TForm1 in extra Unit?

  Alt 30. Okt 2008, 21:11
Das geht nur, wenn Du die Procedure zur Methode der Klasse machst und damit muss es wieder in der Unit von der MainForm stehen.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

Re: Procedure mit TForm1 in extra Unit?

  Alt 30. Okt 2008, 21:12
Wie schon gesagt,

wenn du für dein Formular - und zwar aussschließlich für dieses Formular und niemals ein anderes Formular - eine function oder procedure haben möchtest, dann gehören die in die Klassendefinition dieses einen Formulars und damit auch in die gleiche Unit wie dieses selbige oben genannte Formular.

Als kleine Frage:

Warum möchte man so etwas denn trennen?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Dunkel
Dunkel

Registriert seit: 26. Mär 2007
Ort: Klingenstadt
541 Beiträge
 
Delphi 2007 Enterprise
 
#16

Re: Procedure mit TForm1 in extra Unit?

  Alt 30. Okt 2008, 21:13
Delphi-Quellcode:
procedure TuDies(NehmeString: String);
begin
MainFrm.Button1.Caption := NehmeString;
MainFrm.Label1.Caption := NehmeString;
MainFrm.Caption:= NehmeString;
end;
...und schon hast Du 2 Zeilen gespart, aber trotzdem mehr getippt.

Das was Du möchtest, geht nicht mit Delphi.
Es ist zu wahr um schön zu sein...
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#17

Re: Procedure mit TForm1 in extra Unit?

  Alt 30. Okt 2008, 21:15
Zitat von Dunkel:
Das was Du möchtest, geht nicht mit Delphi.
Warum sollte das auch gehen?

Ist irgendwie für nix gut ...

cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#18

Re: Procedure mit TForm1 in extra Unit?

  Alt 30. Okt 2008, 21:15
Zitat von Dunkel:
...und schon hast Du 2 Zeilen gespart, aber trotzdem mehr getippt.
Darum ja auch bisher "with ... end".

Zitat von Sir Rufo:
Warum möchte man so etwas denn trennen?
Weil ich dann eine bessere Struktur reinbekomme. Zum Beispiel eine Funktion "UnitDatenbank", in der nur Funktionen/Przeduren sind, die sich rund um "die" Datenbank drehen (z.B. Löschen, Erstellen, Öffnen...) und so weiter.

Ich habe recht viele Funktionen, die sich auf Komponenten auf dem Hauptform beziehen - alle mit unterschiedlichen Aufgaben"gebieten". Darum eben diese Auslagerung - 50++ Prozeduren und Funktionen in einer Unit sind eben etwas unübersichtlich.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#19

Re: Procedure mit TForm1 in extra Unit?

  Alt 30. Okt 2008, 21:18
Zitat von MCXSC:
Weil ich dann eine bessere Struktur reinbekomme. Zum Beispiel eine Funktion "UnitDatenbank", in der nur Funktionen/Przeduren sind, die sich rund um "die" Datenbank drehen (z.B. Löschen, Erstellen, Öffnen...) und so weiter.
ähhhhh .... ja ....

Ein Programm gliedert sich wie folgt
- Eingabe (interaktiv mit dem User)
- Verarbeitung (gedaddel mit den schönen Platten, etc.)
- Ausgabe (wieder mit dem User)

Eingabe und Ausgabe ist die Aufgabe der Forms
Verarbeitung eine Sache von Units (s. z.B. DatenModul in Delphi)

cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#20

Re: Procedure mit TForm1 in extra Unit?

  Alt 30. Okt 2008, 21:18
Hmm, Logik sollte sowieso von der Oberfläche getrennt werden und nicht eine Trennung nach Funktion.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 10:46 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