AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Prozedur aus Form1 in Form2 aufrufen?
Thema durchsuchen
Ansicht
Themen-Optionen

Prozedur aus Form1 in Form2 aufrufen?

Ein Thema von cosypanther · begonnen am 21. Jul 2010 · letzter Beitrag vom 22. Jul 2010
Antwort Antwort
Seite 1 von 2  1 2      
cosypanther

Registriert seit: 23. Dez 2007
25 Beiträge
 
Turbo Delphi für Win32
 
#1

Prozedur aus Form1 in Form2 aufrufen?

  Alt 21. Jul 2010, 17:18
Hallo,

mich beschäftigt derzeit die im Titel gestellte Frage.
In Unit1.pas bzw. Form1 habe ich eine Prozedur 'stop'.

Bisher hatte ich dort einen Button, der 'stop' aufgerufen hat. Wollte ich dann 'stop' in Form2 durchlaufen lassen, habe ich dies mit Form1.Button1.Click getan.

Wenn ich allerdings in Form2 einfach stop; bzw. form1.stop; schreibe, dann erhalte ich beim Kompilieren die Meldung
Zitat:
[Pascal Fehler] Unit2.pas(52): E2003 Undefinierter Bezeichner: 'stop'
Gibt es dort eine elegantere Lösung ohne diesen Umweg über einen Button?

Bin gespannt!

Viele Grüße,
cosypanther
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.154 Beiträge
 
Delphi 12 Athens
 
#2

AW: Prozedur aus Form1 in Form2 aufrufen?

  Alt 21. Jul 2010, 17:22
wie/wo hast du dein Stop denn deklariert?
unter private oder protected bringts natürlich nichts.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
cosypanther

Registriert seit: 23. Dez 2007
25 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Prozedur aus Form1 in Form2 aufrufen?

  Alt 21. Jul 2010, 17:30
Ganz normal unter implementation, vor
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
//(...)
end;

Geändert von cosypanther (21. Jul 2010 um 17:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Prozedur aus Form1 in Form2 aufrufen?

  Alt 21. Jul 2010, 18:16
Ist das denn eine Methode von Form1 oder eine reguläre Prozedur?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
cosypanther

Registriert seit: 23. Dez 2007
25 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: Prozedur aus Form1 in Form2 aufrufen?

  Alt 21. Jul 2010, 18:34
Von Form1.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Prozedur aus Form1 in Form2 aufrufen?

  Alt 21. Jul 2010, 18:39
Hast Du sie in den private- oder protected-Abschnitt gesetzt? In dem Fall verschieb die Deklaration mal nach public, dann sollte sie auch sichtbar sein.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
cosypanther

Registriert seit: 23. Dez 2007
25 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Prozedur aus Form1 in Form2 aufrufen?

  Alt 21. Jul 2010, 18:50
Mhh.. in keinem von beiden:
Delphi-Quellcode:
private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

//Variablen (...)

implementation

uses Unit2;

{$R *.dfm}

procedure stop;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.154 Beiträge
 
Delphi 12 Athens
 
#8

AW: Prozedur aus Form1 in Form2 aufrufen?

  Alt 21. Jul 2010, 18:55
Also doch nicht in Form1 ... schau mal wo dein Button1Click noch deklariert ist.

Unit-Extern kannst du nur auf was Zugreifen, welches im Interface-Abschnitt deklariert ist.

Zitat:
//Variablen (...)
globale Variablen sind böse
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
cosypanther

Registriert seit: 23. Dez 2007
25 Beiträge
 
Turbo Delphi für Win32
 
#9

AW: Prozedur aus Form1 in Form2 aufrufen?

  Alt 21. Jul 2010, 19:11
Dann klappts wohl nicht leichter, wenns in einer anderen Unit ist. =P
Danke dennoch!

Kenne mich nicht so mit dem Aufbau aus.

Zitat:
//Variablen (...)
globale Variablen sind böse
Ich weiß, aber für mein kleines Projekt ist das unrelevant.
Da lohnt sich der Aufwand für mich nicht, die Variablen andauernd zu übergeben.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Prozedur aus Form1 in Form2 aufrufen?

  Alt 22. Jul 2010, 08:10
Du hast die Antwort nicht richtig gelesen.
Delphi-Quellcode:
unit Bla;

interface

...

procedure stop; //Im interface-Abschnitt bekannt machen

implementation

procedure stop;
begin
  //Code
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12:01 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