AGB  ·  Datenschutz  ·  Impressum  







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

Zugriff auf Prozedur der mainform

Ein Thema von lorenz · begonnen am 26. Feb 2004 · letzter Beitrag vom 26. Feb 2004
Antwort Antwort
lorenz

Registriert seit: 7. Nov 2003
86 Beiträge
 
Delphi 7 Personal
 
#1

Zugriff auf Prozedur der mainform

  Alt 26. Feb 2004, 18:48
Hallo alle zusammen!

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

Beispiel: im onClose des MDIChild auf speichern der MDIForm

Man liest sich,

Lorenz
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Zugriff auf Prozedur der mainform

  Alt 26. Feb 2004, 18:58
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
Marco
  Mit Zitat antworten Zitat
lorenz

Registriert seit: 7. Nov 2003
86 Beiträge
 
Delphi 7 Personal
 
#3

Re: Zugriff auf Prozedur der mainform

  Alt 26. Feb 2004, 19:33
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
  Mit Zitat antworten Zitat
lorenz

Registriert seit: 7. Nov 2003
86 Beiträge
 
Delphi 7 Personal
 
#4

Re: Zugriff auf Prozedur der mainform

  Alt 26. Feb 2004, 20:46
So, jetzt geht es.

Ich musste die Prozedur gar nicht als public definieren. Ich musste nur nicht Thauptfenster.speichernExecute(Sender); sondern 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
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:02 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