Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Fehler Meldung bei Public Deklaration von Proceduren!


Hoda - Fr 18.10.02 13:01
Titel: Fehler Meldung bei Public Deklaration von Proceduren!
Hallo Leute,
ich bin am Verzweifeln. :bawling: :autsch:

Ich habe eine stink normale Anwendung gestartet (Datei->Neu->Anwendung). 8)
Bis dahin klappt alles! 8)
Wenn ich jetzt meine Anwendung startet zeigte es mir schön die Form usw.

Ich habe eine eigene „Procedure Zeige“ geschrieben und die unter Public deklariert. Wenn ich danach mein Programm starte bekomme ich die folgende Meldung:

Quelltext
1:
[Fehler] Unit1.pas(15): Ungenügende Forward- oder External-Deklaration: 'TForm1.Zeige'                    

Wenn ich den vor „implementation“ deklariere funktioniert die Anwendung. Leider nur mit einem Nachteil, dass ich meine "Procedure Zeige" nicht von außer halb aufrufen kann. :nixweiss: :roll:

Was mach ich Falsch?
Wo muss ich eine Schraube drehen damit es Funktioniert?

Gruß + Danke
HODA


Tante - Fr 18.10.02 13:11

Hallo Hoda!

Kannst Du mal Deinen Code schicken?


Hoda - Fr 18.10.02 13:46

Hi Tante,
hier der

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    Procedure Zeige;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Procedure Zeige;
Begin
end;

end.


LCS - Fr 18.10.02 13:50

Hi
ändere das einfach in:

Quelltext
1:
2:
3:
4:
5:
Procedure TForm1.Zeige; 
Begin 
end; 

end.


Gruss Lothar


Delete - Fr 18.10.02 13:51

Zeige ist als "public"-Prozedur deiner Form TForm1 deklariert.
Was heißt das also?
Oder anders *belehrenden Zeigefinger hoch* -

Pack mal einen Button auf deine Form, klicke ihn doppelt an und du landest im Editorfenster. Wo siehst du hier einen Unterschied?

Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure Zeige;
begin
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
end;

Der Button-Klick ist ja auch eine Form-bezogene Prozedur.

Nun :?:

Edit: Mensch, Loddar, oller Vordrängler. :wink:


Hoda - Fr 18.10.02 14:01

Hi,
ich sag da nur Auuuuuuu :eyecrazy: :wink:

Wieder etwas gelernt und den Tag gerettet :dance:

Habt vielen dank! :D

gruß
Hoda