Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Ungenügende Forward- oder External-Deklaration... (https://www.delphipraxis.net/4397-ungenuegende-forward-oder-external-deklaration.html)

NeoDeluxe 27. Apr 2003 14:09


Ungenügende Forward- oder External-Deklaration...
 
Was ist das??? :wiejetzt:
Ich habe den Quelltext aus Dieser Seite(siehe Schritt 2) kopiert, an meinen frmMain angepasst und bekommen immer diesen Fehler...

Grüße, NeoDeluxe 8)

Christian Seehase 27. Apr 2003 14:19

Moin NeoDeluxe,

und auf was bezieht sich die Meldung?

Im allgemeinen weist diese Fehlermeldung darauf hin, dass Du eine Funktion/Prozedur/Methode deklariert hast, zu der der Compiler die eigentliche Funktion nicht finden kann.

NeoDeluxe 27. Apr 2003 14:50

Zitat:

Zitat von Christian Seehase
und auf was bezieht sich die Meldung?

Also es geht, wie auf der seite steht um HotKeys. Es werden vorher die HotKeys erstellt und dann soll etwas passieren wenn diese Tasten gedrückt werden...Soviel ich verstanden habe, dient diese Prosedure dafür, dass etwas passiert wird, wenn die Tasten gedrückt wurden, oda??? :roll:

Grüße, NeoDeluxe 8)

Stanlay Hanks 27. Apr 2003 14:52

jep. aber poste doch mal bitte deinen Code. (mit fehler und zeile)

Christian Seehase 27. Apr 2003 14:52

Moin NeoDeluxe,

welche Zeile wird bei Dir als Fehlerhaft markiert?

NeoDeluxe 27. Apr 2003 15:05

Delphi-Quellcode:
private
   procedure TfrmMain.HotkeyProc(var Msg: TWmHotkey); message WM_HOTKEY; //Da ist dieser Fehler...
  public
    { Public-Deklarationen }
  end;

var
  frmMain: TfrmMain;
  HotKey:Integer;

implementation

uses Unit2,Unit5;

{$R *.dfm}

procedure HotkeyProc(var Msg: TWmHotkey);
  begin
  //Diese Funktion reagiert nun auf den Tatendruck
  if MSG.HotKey = Hotkey then Begin
     showmessage('Hey, du hast die HotKey-Taste(n) gedrückt!!!');
     //Hier jetzt reinschreiben was passieren soll

     end;
  end;
Grüße, NeoDeluxe 8)

[edit=Daniel B]Delphi-Tags ergänzt. MfG Daniel B.[/edit]

Stanlay Hanks 27. Apr 2003 15:10

Ich könnte mir vorstellen dass du das TFrm wegmachen musst und es stattdessen in den Kopf der tatsächlichen Procedur schreiben musst.

NeoDeluxe 27. Apr 2003 15:13

Hab gemacht, das selbe...
Ich könnte mir vorstellen, dass der Variablentyp TWmHotkey ein record ist, aber vorher nicht deklariert ist...is aber ne Vermutung... :roll:

Grüße, NeoDeluxe 8)

Christian Seehase 27. Apr 2003 15:16

Moin NeoDeluxe,

das müsste so aussehen:

Delphi-Quellcode:
private
   procedure HotkeyProc(var Msg: TWmHotkey); message WM_HOTKEY; //Da ist dieser Fehler...
  public
    { Public-Deklarationen } 
  end;

var
  frmMain: TfrmMain;
  HotKey:Integer;

implementation

uses Unit2,Unit5;

{$R *.dfm} 

procedure TfrmMain.HotkeyProc(var Msg: TWmHotkey);
  begin
  //Diese Funktion reagiert nun auf den Tatendruck
  if MSG.HotKey = Hotkey then Begin
     showmessage('Hey, du hast die HotKey-Taste(n) gedrückt!!!');
     //Hier jetzt reinschreiben was passieren soll

     end;
  end;
denn in der Deklaration ist ja klar zu welcher Klasse die Methode gehört, unter implemenation muss hingegen angegeben werden, dass es sich um eine Methode von TfrmMAIN handelt. Schliesslich kann man ja innerhalb einer Unit zum einen mehrere Klassen deklarieren, und zum anderen auch Funktionen/Prozeduren, die nicht Methoden einer Klasse sind.

NeoDeluxe 27. Apr 2003 15:34

OK, kommt kein Fehler mehr, aber passiert auch nix... :roll:
Normalerweise, soll eine Message kommen wenn die Tasten gedrückt wurden...aber kommt nix....

Grüße, NeoDeluxe 8)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 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