Autor Beitrag
K.S.M.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82

Windows 7 Professional
Delphi 2010, HTML, JavaScript, CSS, PHP, ein wenig C, Flash ActionScript 2.0/3.0, SQL, Assembler
BeitragVerfasst: So 16.09.07 10:44 
Hallo,
ich habe folgendes Problem:
Ich will eine Funktion erstellen mit dessen Hilfe man ein Fenster öffnet in dem sich eine TEdit-Komponente befindet.

Mein Code sieht so aus:
ausblenden volle Höhe 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:
function TForm1.Fenster(Titel,Text: String): String;
var
  Fenster:  TForm;
  Edit:     TEdit;
  Button:   TButton;
  procedure Ergebnis(Sender: TObject);
    begin
      Result := Edit.Text;
      Fenster.Close;
    end;
  begin
    Fenster := TForm.Create(self);
    Edit := TEdit.Create(self);
    Button := TButton.Create(self);
    with Fenster do begin
      Position := poScreenCenter;
      Width := 300;
      Height := 100;
      Caption := Titel;
      Visible := True;
      BringToFront;
    end;
    with Edit do begin
      Parent := Fenster;
      Width := 150;
      Left := 25;
      Text := Text;
      Top := 10;
    end;
    with Button do begin
      Parent := Fenster;
      Width := 50;
      Top := 50;
      Left := 125;
      OnClick := Ergebnis; //Hier ist das Problem
    end;
  end;
[/delphi
]

Der Debugger meldet mir, dass "Methodenzeiger und reguläre Prozeduren" inkompatible Typen sind. Was soll ich tun? :(
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 16.09.07 11:39 
:welcome: hier im Forum zunächst mal!

Das muss eine Prozedur innerhalb des Formulars sein, eine lokale Methode innerhalb deiner Prozedur Fenster geht nicht, die muss also wie Fenster unter TForm1 deklariert und definiert sein.
Btw: Den Fehler zeigt dir der Compiler an ;-). Der Debugger ist erst aktiv, wenn das Programm läuft, wenn also dann ein Fehler auftritt, dann meldet dir den der Debugger.
K.S.M. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82

Windows 7 Professional
Delphi 2010, HTML, JavaScript, CSS, PHP, ein wenig C, Flash ActionScript 2.0/3.0, SQL, Assembler
BeitragVerfasst: So 16.09.07 15:03 
Danke für die schnelle Antwort!