Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zugriff auf Prozedur der mainform (https://www.delphipraxis.net/16998-zugriff-auf-prozedur-der-mainform.html)

lorenz 26. Feb 2004 18:48


Zugriff auf Prozedur der mainform
 
Hallo alle zusammen!

Ich habe folgendes Problem: Wie kann ich von einem MDIChild auf eine Prozedur der MDIForm zugreifen? :gruebel:

Beispiel: im onClose des MDIChild auf speichern der MDIForm

Man liest sich,

Lorenz

Taladan 26. Feb 2004 18:58

Re: Zugriff auf Prozedur der mainform
 
Das ist gar nciht so schwer. Du mußt die Prozedure in deiner MDIForm als public deklarieren. Dann kannst du im mdichild über mdiform.prozedure darauf zu greifen.

Dat Tala

lorenz 26. Feb 2004 19:33

Re: Zugriff auf Prozedur der mainform
 
Erstmal danke für die Antwort! :)

Ich zeige jetzt mal, was ich gemacht habe:

In der MDIForm (hauptfenster):
Delphi-Quellcode:
type
  Thauptfenster = class(TForm)
{...}
  private
    { Private declarations }
  public
    procedure speichernExecute(Sender: TObject); { Public declarations }
Im MDIChild (kindfenster):
Delphi-Quellcode:
uses haupteinheit;
{...}
{fehler}Thauptfenster.speichernExecute(Sender);
Da gibt es einen Fehler: [Fehler] kindeinheit.pas(56): Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt
[Fataler Fehler] wwwprogramm.dpr(7): Verwendete Unit 'kindeinheit.pas' kann nicht compiliert werden


Woran könnte das liegen? Muss ich vielleicht das mit dem public-machen anders machen?

Man liest sich,

Lorenz

lorenz 26. Feb 2004 20:46

Re: Zugriff auf Prozedur der mainform
 
So, jetzt geht es.

Ich musste die Prozedur gar nicht als public definieren. Ich musste nur nicht
Delphi-Quellcode:
Thauptfenster.speichernExecute(Sender);
sondern
Delphi-Quellcode:
hauptfenster.speichernExecute(Sender);
schreiben. Also einfach das T weglassen. :)

Keine Ahnung, wie ich darauf gekommen bin, da ein T hinzuschreiben ...

Auf jeden Fall geht's jetzt, super!!

MfG

Lorenz


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:12 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