Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Frage zu Pascal script (https://www.delphipraxis.net/67469-frage-zu-pascal-script.html)

citybreaker 14. Apr 2006 21:28


Frage zu Pascal script
 
Hallo!

Ich versuche über Pascal Script einfach mal so aus testzwecken eine
Form mit Button zu erzeugen. (klappt soweit)

Nun soll der Button ne Funktion haben. Das klappt jetzt schon irgendwie nicht mehr.

Delphi-Quellcode:

// Button procedure
procedure BtnClick(Sender: TObject);
begin
  // mach was
end;

program test;
var frm: TForm;
    btn: TButton;
begin

  // Form erzeugen
  Frm := TForm.Create(self);
  Frm.Caption := 'Test Window';
  Frm.Name := 'Frm1';
  Frm.Position := poDesktopCenter;
  // Button1
  btn := TButton.Create(self);
  with Btn do begin
    Caption := 'Klick Mich';
    Left := 10;
    Height := 23;
    Name := 'Btn1';
    Parent := Frm;
    Width := 75;
    Top := 10;
    OnClick(BtnClick);
  end;
  Frm.Show;
end.
Jetzt sagt der mir immer.
Unnamed 'BEGIN expected'

faux 14. Apr 2006 21:30

Re: Frage zu Pascal script
 
Hallo!

Delphi-Quellcode:
Btn.OnClick := BtnClick;
Grüße
Faux

mkinzler 14. Apr 2006 21:31

Re: Frage zu Pascal script
 
Muß die Definition der Prozedur muß nach Program?

3_of_8 14. Apr 2006 21:33

Re: Frage zu Pascal script
 
Also in Pascal auf jeden Fall. Ich tippe mal, dort auch.

faux 14. Apr 2006 21:33

Re: Frage zu Pascal script
 
Zitat:

Zitat von mkinzler
Muß die Definition der Prozedur muß nach Program?

Ja, stimmt.
Es müsste so heißen:

Delphi-Quellcode:
program test;

procedure BtnClick(Sender: TObject);
begin
  //
  // Code
  //
end;

var
  frm: TForm;
  btn: TButton;
begin
  //
  // Code
  //
end.
Habe ich übersehen.
Desweiteren weiß ich nicht ob das ganze dann auch geht. Sowas hab ich bis jetzt noch nie gebraucht.

Grüße
Faux

3_of_8 14. Apr 2006 21:36

Re: Frage zu Pascal script
 
btn := TButton.Create(self);

Müsste das nicht btn := TButton.Create(frm); heißen? self ist doch nur in Methoden definiert, oder?

faux 14. Apr 2006 21:37

Re: Frage zu Pascal script
 
Zitat:

Zitat von 3_of_8
btn := TButton.Create(self);

Müsste das nicht btn := TButton.Create(frm); heißen? self ist doch nur in Methoden definiert, oder?

Hier gibts keine Methode. Das wundert mich ja. Hier gibts keine Form, hier gibts nichts. :?

citybreaker 15. Apr 2006 08:19

Re: Frage zu Pascal script
 
Delphi-Quellcode:
program test;
var frm: TForm;
    btn: TButton;
begin

  // Button procedure
  procedure BtnClick(Sender: TObject); // Identifier expected hier kommt der Fehler
  begin
    //
  end;

  // Form erzeugen
  Frm := TForm.Create(self);
  Frm.Caption := 'Test Window';
  Frm.Name := 'Frm1';
  Frm.Position := poDesktopCenter;

  // Button1 erzeugen
  btn := TButton.Create(frm);
  with Btn do begin
    Caption := 'Klick Mich';
    Left := 10;
    Height := 23;
    Name := 'Button1';
    Parent := Frm;
    Width := 75;
    Top := 10;
    OnClick := BtnClick;
  end;

  Frm.Show;
end.
So jetzt klappts leider noch immer nicht. Ich bekomm ein
Identifier expected.

faux 15. Apr 2006 08:22

Re: Frage zu Pascal script
 
Zitat:

Zitat von citybreaker
Ich bekomm ein Identifier expected.

Die Form müsste so lauten:
Delphi-Quellcode:
program

procedure

var
begin

end.
Grüße
Faux

citybreaker 15. Apr 2006 08:52

Re: Frage zu Pascal script
 
Ok, vielen dank! Jetzt geht es.

:dp:

--- Edit ---
Eine Frage noch. Wo kann ich ne neue Klasse erstellen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz