Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Keyup Ereigniss dynamisch erzeugen?? Wie?? (https://www.delphipraxis.net/37328-keyup-ereigniss-dynamisch-erzeugen-wie.html)

Schuster 4. Jan 2005 15:34


Keyup Ereigniss dynamisch erzeugen?? Wie??
 
Hab mal wieder ein Problem:

Habe werden der Laufzeit ein Editfeld erstellt und diesem will ich jetzt ein KeyUp Ereigniss
zuweisen hab da aber irgendwie Probleme :wall:

Hier mal der Code:

Delphi-Quellcode:
unit FormErstellen;

interface
uses Haupt, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     Dialogs, ComCtrls, XPMan, StdCtrls, ExtCtrls, SonstFunctionen;

type TFormErstellen =class(TForm)


procedure Kd_AnlegenShow;
Procedure Kd_AnlegenHide;
Procedure Vt_SuchenShow;
Procedure Vt_SuchenHide;

public
procedure BtnKdSpeichern_click(Sender: TObject);  //Das funktioniert
procedure GebDatKdAnlegen_KeyUp(Sender: TObject;var Key: Word; Shift: TShiftState); //Hier FEHLER
//FEHLER: Ungenügende Forward- oder External-Deklaration !!!!

private
end;

implementation
var
     Edt_Kd_speichern_GebDat : TEdit;
     Btn_Kd_Speichern : TButton;

procedure TFormErstellen.Kd_AnlegenShow;
begin
      if Assigned(Panel_Kd_Anlegen) then  //wenn vorhanden nicht neu erstellen sonder nur Inhalte Löschen
      begin
        Panel_Kd_Anlegen.Show;
        MeineFunktion.KomponentenInhalt_loeschen(Panel_Kd_Anlegen);

      end
      else
      begin
          Edt_Kd_speichern_GebDat:= TEdit.Create(Panel_Kd_Anlegen);
          Edt_Kd_speichern_GebDat.parent:= Panel_Kd_Anlegen;

          with Edt_Kd_speichern_GebDat do begin
              name:= 'Edt_Kd_speichern_GebDat';
              top:= Lbl_Kd_speichern_GebDat.Top + Lbl_Kd_speichern_GebDat.Height;
              left:= 250;
              text:= '';
              Width:= 100;
              OnKeyUp := GebDatKdAnlegen_KeyUp;
          end;

          Btn_Kd_Speichern:=TButton.Create(Form1);
          Btn_Kd_Speichern.Parent:= Panel_Kd_Anlegen;

          with Btn_Kd_Speichern do begin
              Name:='Btn_Kd_Speichern';
              Height:= 41;
              left:= 744;
              top:= 533;
              Width:= 137;
              Caption:= 'Speichern';
              Font.Style:= [fsBold];
              OnClick:= Btnkdspeichern_click;
          end;
      end;
end;

Dax 4. Jan 2005 15:37

Re: Keyup Ereigniss dynamisch erzeugen?? Wie??
 
Wenn du in deiner Klasse eine Mathode deklarierst, musst du sie auch implementieren, also füge in deinem implementation-Abschnitt der Unit noch den Code für die Edit-Prozedur ein.

Du könntest, auch wenn es vollkommen unsinnig ist, die Methode als Delphi-Referenz durchsuchenabstract definieren. Das bedeutet, du musst in allen direkt abgeleiteten Klassen die Methode implementieren. In deinem Fall macht das wohl wenig Sinn ;)

Schuster 4. Jan 2005 15:39

Re: Keyup Ereigniss dynamisch erzeugen?? Wie??
 
Sorry :duck:

sollte vielleich auch die procedure schreiben.

Delphi-Quellcode:
procedure TFormErstellen.GebDatKdAnlegen_KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
    ShowMessage('hallo');
end;
:coder2:

Dax 4. Jan 2005 15:45

Re: Keyup Ereigniss dynamisch erzeugen?? Wie??
 
Wenn du deine Prozedur wie angegeben implementiert hast, dürftest du diesen Fehler gar nicht bekommen.. Starte Delphi mal neu, vielleicht hilfts :?

Schuster 4. Jan 2005 15:48

Re: Keyup Ereigniss dynamisch erzeugen?? Wie??
 
@ Dax

genau das hab ich vergessen :duck:


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