Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - procedure wird nicht erzeugt


Anka - Do 23.09.10 17:09
Titel: procedure wird nicht erzeugt
Hallo Leute,
ich mal wieder :)
Ich bin gerade dabei, ein einfaches Rechteck-Umfang-Berechnen-programm zu erstellen, habe einen Abbruch Button erstellt und wollte für diesen eine "procedure" definieren (hoffe, das sagt man so^^).
Also habe ich darauf geklickt, der Quelltext wurde mit entsprechendem Platz geöffnet ("procedure TForm1.BtnAbbruchClick(Sender:TObject)"). Ich habe es aber versehentlich komplett gelöscht, also ab "procedure TForm1.BtnAbbruchClick(Sender:TObject)" bis end; und jetzt erstellt er mir kein neues "procedure TForm1.BtnAbbruchClick(Sender:TObject)". Ich werde nur immer wieder an die Stelle zurückverwiesen, an der ich das ganze gelöscht habe, aber dort ist nichts mehr...

Danke schon mal.
Anka

Moderiert von user profile iconMartok: Beiträge zusammengefasst

Mein Code:


Delphi-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:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
unit uRechteck;

interface

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

type
  TForm1 = class(TForm)
    PnlUeberschrift: TPanel;
    GroupBoxEingabe: TGroupBox;
    LblSeiteA: TLabel;
    LblSeiteB: TLabel;
    GroupBoxAusgabe: TGroupBox;
    LblUmfang: TLabel;
    LblFlaeche: TLabel;
    LblDiagonale: TLabel;
    EdtUmfang: TEdit;
    EdtFlaeche: TEdit;
    EdtDiagonale: TEdit;
    EdtSeiteA: TEdit;
    EdtSeiteB: TEdit;
    LblSeiteACm: TLabel;
    LblSeiteBCm: TLabel;
    LblUmfangCm: TLabel;
    LblFlaecheCm2: TLabel;
    LblDiagonaleCm: TLabel;
    BtnBerechnen: TButton;
    BtnSchliessen: TButton;
    BtnInformation: TButton;
    BtnAbbruch: TButton;
    procedure BtnBerechnenClick(Sender: TObject);
    procedure BtnInformationClick(Sender: TObject);


  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}

procedure TForm1.BtnBerechnenClick(Sender: TObject);
var
  SeiteA,SeiteB,Flaeche,Umfang: Integer;
  Diagonale: Real;
begin
  SeiteA := StrToInt(EdtSeiteA.Text) ;
  SeiteB := StrToInt(EdtSeiteA.Text) ;
  Flaeche := SeiteA * SeiteB ;
  Umfang := 2 * (SeiteA + SeiteB) ;
  Diagonale := Sqrt (Sqr(SeiteA + Sqr(SeiteB)));

  EdtFlaeche.Text :=IntToStr(Flaeche);
  EdtUmfang.Text := IntToStr(Umfang);
  EdtDiagonale.Text := FloatToStr(Diagonale);
end;

end.



Vielleicht hilft euch das weiter.

Moderiert von user profile iconMartok: Delphi-Tags gesetzt


bummi - Do 23.09.10 17:16

Die Kalssendefinition un der Implematationteil müssen zusammen passen bei Dir z.B.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
type
....
procedure BtnInformationClick(Sender: TObject); 
implementation

procedure TForm1.BtnBerechnenClick(Sender: TObject);


Im Zweifelsfall lösche alles in Deiner Unit was BtnAbbruchClick heißt, entferne den Eintrag im Objektinspektor bei OnClick und führe danach dort einen Doppelklick aus.

Moderiert von user profile iconMartok: Delphi-Tags gesetzt


Martok - Do 23.09.10 17:29

Hallo!

Bitte verwende für Quellcode die entsprechenden [delphi]-Tags, dann wird er "schöner" dargestellt als im Fließtext. Beispiel:

Quelltext
1:
<span class="inlineSyntax"><span class="codecomment">{PROTECTTAG52e64ba12b1f5bdf6edbf9e72a38b282}</span></span>                    

Wird:

Delphi-Quelltext
1:
var Test: integer;                    


Außerdem beachte bitte folgendes:
Richtlinien hat folgendes geschrieben:
4.1 Ändern eines Postings
Anstatt einen Nachtrag zu einem von Dir getätigten Posting in einem weiteren Beitrag unter Deinem vorhergehenden zu posten, ist es meist vorzuziehen, den ersten Beitrag dementsprechenden abzuändern. Benutze dazu bitte die Editier-Funktion in neben Deinem Beitrag.[...]

Einfach oben bei Deinem ersten Beitrag auf user defined image oder user defined image klicken.

Ich hab das mal etwas beräumt ;).


So, und jetzt zum Problem :mrgreen:
In der Unit dürfte nur noch im interface-Teil das BtnInformationClick zuviel sein (Zeile 34). Das verwirrt Delphi erstmal so, dass er sich über fehlende Implementationen beschweren dürfte.
Danach ansonsten wie user profile iconbummi sagt: den Verweis im Objektinspektor rauslöschen und neu Doppelklicken; dann wird das betreffende Ereignis neu erzeugt.


Viele Grüße,
Martok