AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Überprüfen ob eine Funktion existiert also nicht nil ist.
Thema durchsuchen
Ansicht
Themen-Optionen

Überprüfen ob eine Funktion existiert also nicht nil ist.

Ein Thema von samson · begonnen am 23. Okt 2003 · letzter Beitrag vom 23. Okt 2003
Antwort Antwort
Benutzerbild von samson
samson

Registriert seit: 26. Aug 2003
Ort: Hövelhof Riege
105 Beiträge
 
Delphi 2007 Professional
 
#1

Überprüfen ob eine Funktion existiert also nicht nil ist.

  Alt 23. Okt 2003, 10:21
Hallo,

ich habe folgendes Problem.

Also. Ich habe ein Basisformular erstellt: TBasicForm welches von TForm abgeleitet ist. Wenn ich jetzt MDIChilds erstelle, werden diese von TBasicForm abgeleitet.

Die Formular-Procedure FormClose habe ich überschrieben, damit Sie so aussieht:
procedure FormClose(Sender: TObject; var Action: TCloseAction; ExitProc:TExitProcedure); ExitProc ist eine Übergebene Function die eben ausgeführt wird, wenn das Formular geschlossen wurde.

Ich habe jetzt ein MDIChild erstellt, welches keine Procedure übergeben bekommt. Wenn nun versucht wird die ExitProc-Function auszuführen gibt es eine Exception.

Aufruf:
inherited FormClose(Sender, Action, nil); Wie kann ich prüfen, ob die Adresse, bzw. Procedure existiert???

if ExitProc <> nil then ExitProc; funktionnukkelt nicht.

Ich hoffe das einer helfen kann.

Gruss

Samson
Frank Gellermann
Wer Informationen hat, hat Macht. Wer Macht hat, hat Informationen!!!
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2

Re: Überprüfen ob eine Funktion existiert also nicht nil ist

  Alt 23. Okt 2003, 10:31
Genau dafür gibt es Assigned

if Assigned(ExitProc) then ExitProc; ......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von samson
samson

Registriert seit: 26. Aug 2003
Ort: Hövelhof Riege
105 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Überprüfen ob eine Funktion existiert also nicht nil ist

  Alt 23. Okt 2003, 10:57
Hallo Sakura.

Ich habs ausprobiert. Leider lässt sich der Quelltext dann nicht kompilieren:

Inkompatible Typen: 'TPersistent' und 'procedure, untyped pointer or untyped parameter' Ein Casten auf TPersistent funktioniert auch nicht.

Was kann ich tuen???


Gruss


Samson
Frank Gellermann
Wer Informationen hat, hat Macht. Wer Macht hat, hat Informationen!!!
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#4

Re: Überprüfen ob eine Funktion existiert also nicht nil ist

  Alt 23. Okt 2003, 11:02
Wie hast Du denn TExitProcedure definiert?

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von samson
samson

Registriert seit: 26. Aug 2003
Ort: Hövelhof Riege
105 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Überprüfen ob eine Funktion existiert also nicht nil ist

  Alt 23. Okt 2003, 11:26
Hat sich erledigt. Funktioniert gut.

Ich habe beim Ausprobieren statt: Assigned -> Assign verwendet.

Mit Assigned gehts besser.

Danke.

Gruss

Samson
Frank Gellermann
Wer Informationen hat, hat Macht. Wer Macht hat, hat Informationen!!!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Überprüfen ob eine Funktion existiert also nicht nil ist

  Alt 23. Okt 2003, 13:15
Moin Samson,

statt:

if ExitProc <> nil then ExitProc; schreib' mal:

Code:
if [color=red]@[/color]ExitProc <> nil then ExitProc;
Das sollte auch gehen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  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 17: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