AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Ungenügende Forward-/External-Deklaration

Ungenügende Forward-/External-Deklaration

Ein Thema von asdfghjkl · begonnen am 26. Mai 2012 · letzter Beitrag vom 26. Mai 2012
Antwort Antwort
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.064 Beiträge
 
Delphi 12 Athens
 
#1

AW: Ungenügende Forward-/External-Deklaration

  Alt 26. Mai 2012, 15:43
Lass mich raten:
Du hast nach implementation sowas stehen?
Delphi-Quellcode:
procedure ProcEins (Eingabe : Integer);
begin

end;
Da fehlt das TForm1. davor, deshalb auch die Fehlermeldung. Gefunden wird ProcEins, gesucht aber TForm1.ProcEins, denn das ist ja eine Methode (einer Klasse) und keine einzelne Prozedur.
Delphi-Quellcode:
procedure TForm1.ProcEins(Eingabe : Integer);
begin

end;
Nebenbei gehören eigene Methoden besser unter private oder public statt in den Standardsichtbarkeitsbereich.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Ungenügende Forward-/External-Deklaration

  Alt 26. Mai 2012, 16:01
Wenn du einen Aufzählungstyp wie diesen deklarierst:
TZustand =(A,Eins,Zwei,Drei,Vier,Fuenf,Sechs,S,O,Lampe );
Dann musst du darauf achten, dass die einzelne Werte genügend lange Bezeichner haben.
Andernfalls könnte es später zu einer Namenskollision kommen.
Delphi-Quellcode:
// Prefix mz = "Morsezeichen"
TZustand =(mzA,mzEins,mzZwei,mzDrei,mzVier,...);
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.064 Beiträge
 
Delphi 12 Athens
 
#3

AW: Ungenügende Forward-/External-Deklaration

  Alt 26. Mai 2012, 16:14
Ich würde eher dazu raten SCOPEDENUMS zu aktivieren... (falls man eine passende Delphiversion hat)
http://docwiki.embarcadero.com/RADSt...ungen_(Delphi)
Dann schreibt man einfach TZustand.A und fertig.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Ungenügende Forward-/External-Deklaration

  Alt 26. Mai 2012, 17:23
Dann schreibt man einfach TZustand.A und fertig.
Falls nicht möglich, dann einfach den entsprechenden Unitnamen als Namespace davorschreiben.

Zitat:
Obwohl TFoo nicht mit $SCOPEDENUMS ON deklariert wurde, kann der Wert A dennoch explizit anhand des Aufzählungsnamens aufgelöst werden.
Wenn ich das aber richtig lese, dann kann man immer den Typenmamen davor setzen, oder auch nicht. (bei OFF)
Bei $SCOPEDENUMS ON muß man es aber immer davorschreiben.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (26. Mai 2012 um 17:26 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.064 Beiträge
 
Delphi 12 Athens
 
#5

AW: Ungenügende Forward-/External-Deklaration

  Alt 26. Mai 2012, 20:03
Wenn ich das aber richtig lese, dann kann man immer den Typenmamen davor setzen, oder auch nicht. (bei OFF)
Bei $SCOPEDENUMS ON muß man es aber immer davorschreiben.
Richtig. Ich würde immer dazu raten es zu aktivieren, wenn man keine Prefixe benutzt. Wenn die Bezeichner durch Prefixe ohnehin eindeutig genug sind, kann man es auch auslassen.
Aber wenn nicht, würde ich so immer sicherstellen, dass jeder den Typbezeichner benutzt.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz