Ich bin neu in der Delphi Programmierumgebung und habe Probleme beim Aufruf einer Prozedur in einer Prozedur in meiner Konsolenanwendung.
Meine einfache Anwendung ist für ein Artikel-Inventar, das über einen Telnet-Server unter Windows läuft. Ich benutze ein altes Thinkpad als meinen Thinclient mit Linux und einem Telnet-Client.
Mit Delphi XE bin ich in eine Hühner- oder Eissituation geraten.
Ich bekomme addscreen undeclared indifier ... es wird aber unter dem Mainscreen deklariert !!! Wenn ich addscreen Verfahren über den Hauptbildschirm eins setze, mache jeder Anruf zum Hauptbildschirm in der addscreen Prozedur mich einen Fehler undeclared Identifizierungs-Hauptbildschirm!
In einfachen Worten, wie kann man die Prozedur überall im Programm aufrufen lassen?
Ich habe versucht, die Schnittstelle und die Implementierung, aber es ist nicht gültig in einem Konsolenanwendungsprogramm!
%Vor%Vielen Dank!
Der Compiler durchläuft die Datei von oben nach unten. An dem Punkt, an dem es den Aufruf von addscreen
verarbeiten muss, haben Sie addscreen
noch nicht deklariert.
Da Sie eine zirkuläre Referenz haben ( addscreen
ruft mainscreen
und umgekehrt), müssen Sie diese mit einer sogenannten Vorwärtsreferenz brechen. Fügen Sie diese Zeile vor mainscreen
Also sollte die Organisation des Codes so aussehen:
%Vor% Wenn Sie keinen Zirkelverweis hätten, könnten Sie einfach die Prozeduren neu ordnen, so dass addscreen
vor mainscreen
deklariert wurde.
Tags und Links delphi circular-reference procedure