AGB  ·  Datenschutz  ·  Impressum  







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

Prozedur-Deklaration

Ein Thema von Hansa · begonnen am 19. Dez 2004 · letzter Beitrag vom 19. Dez 2004
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

Prozedur-Deklaration

  Alt 19. Dez 2004, 14:41
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.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Prozedur-Deklaration

  Alt 19. Dez 2004, 14:44
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
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Prozedur-Deklaration

  Alt 19. Dez 2004, 14:44
Wenn sie im Private Abschnitt steht hast du sie ja deklariert.


Delphi-Quellcode:
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;
Die Proceduren müssen im interface und im implementations abschnitt genau gleich heißen.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#4

Re: Prozedur-Deklaration

  Alt 19. Dez 2004, 14:47
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;
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Prozedur-Deklaration

  Alt 19. Dez 2004, 14:53
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.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#6

Re: Prozedur-Deklaration

  Alt 19. Dez 2004, 14:57
Hi!

Die *.dcu mal gelöscht?
Kannst du die Unit mal anhängen?


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: Prozedur-Deklaration

  Alt 19. Dez 2004, 15:10
Warum soll ich denn die DCUs löschen ? 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.
Gruß
Hansa
  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:29 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