![]() |
Prozedur-Deklaration
Ich habe hier eine Prozedur. Die ist im private-Abschnitt einer Form deklariert. Kommt der Compiler an die Stelle, wo sie dann auch im Source komplett steht, dann gehts nicht mehr weiter : "Deklaration von PROZEDUR unterscheidet sich von vorheriger Deklaration".
Aber sie wurde vorher gar nicht deklariert. Nun habe ich mit grep sämtliche Quelltexte durchsucht, auch DFM und finde einfach nichts. Build nützt auch nichts. |
Re: Prozedur-Deklaration
Hi!
Normalerweise kommt das, wenn sie (jetzt auf dein Beispiel bezogen) im private-Bereich anders aussieht als im Programm selber. Zeige doch mal die Deklarationen. Ciao Frederic |
Re: Prozedur-Deklaration
Wenn sie im Private Abschnitt steht hast du sie ja deklariert.
Delphi-Quellcode:
Die Proceduren müssen im interface und im implementations abschnitt genau gleich heißen.
private
procedure Test(S: String); end; ... procedure Test(S: String); begin // Tu was end; { So gehts! } { So nicht: } private procedure Test(S: String); end; ... procedure Test(aS: String); begin // Tu was end; |
Re: Prozedur-Deklaration
So sollte es auf jeden Fall funktionieren ;)
Delphi-Quellcode:
type
TForm1 = class(TForm) private procedure Test(S: String); end; ... procedure TForm1.Test(S: String); begin // Tu was end; |
Re: Prozedur-Deklaration
Die Prozedur habe ich mehrmals mit C+P in die TForm-Deklaration kopiert. Genau so, wie sie auch im Implementation-Teil steht. In dem bleibt dann trotzdem der Compiler hängen. Tippfehler sind also auszuschließen. Wo ist die "vorherige Deklaration" ???
Der einzige Hinweis wäre noch, daß der Prozedurname irgendwann geändert wurde. Aber das ist wohl normal. Deshalb auch das Build, obwohl ich am Systemdatum nichts geändert habe. |
Re: Prozedur-Deklaration
Hi!
Die *.dcu mal gelöscht? Kannst du die Unit mal anhängen? Ciao Frederic |
Re: Prozedur-Deklaration
Warum soll ich denn die DCUs löschen ? :shock: Ach so, ihr wisst nichts mit Build anzufangen ? Das ist in der deutschen Version "Projekt erzeugen". Da ich aber auch des öfteren den DCC32 mit /B Option brauche, behalte ich mir eher das englische Wort dafür. Wer trotzdem nicht weiß, was das soll : ein Build erzeugt alle DCUs eines Projektes neu, so daß der Linker unabhängig vom Datum alles neu einbindet. Das ist besser, als die DCUs zu löschen, denn wenn eine in einem anderen Ordner liegt, so wird sie mitgelinkt, obwohl sie älter ist, als die anderen. Soviel am Rande. 8)
Die Prozedur habe ich jetzt mal komplett gelöscht und lege sie neu an. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:02 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