AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

OnClick zuweisung schlägt fehl...

Ein Thema von Teekeks · begonnen am 11. Mär 2009 · letzter Beitrag vom 12. Mär 2009
Antwort Antwort
Seite 1 von 2  1 2   
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#1

OnClick zuweisung schlägt fehl...

  Alt 11. Mär 2009, 23:17
Hi!
Ich hab schonwieder eine Frage. Ich finde absolut keine Lösung...
Ich will in einem Array of TButton die OnClick Property zuweisen. Das tuhe ich volgendermaßen:
Delphi-Quellcode:
procedure TButtons.SetClick(X: integer; ClickProcedure:TNotifyEvent);
begin
  FX:=X;
  FButtonList[FX].OnClick:=ClickProcedure;
end;
Ich habe eine Procedure namens "Buttons1Click(Sender:TObject)" und würde jetzt gerne sohier:
Delphi-Quellcode:
var Buttons:TButtons;
{...}  
Buttons.SetClick(Buttons1Click(Sender));
Die Procedure zuweisen. ich kriege aber folgende Fehlermeldung:
Zitat von Lazarus:
Incompatible type for arg no. 2:Got "untyped",expected "<procedure variable type of procedure(TObject) of object;Register>
Wisst ihr was ich falsch mache?

gruß Teekeks
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.288 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: OnClick zuweisung schlägt fehl...

  Alt 11. Mär 2009, 23:22
Mit Buttons1Click(Sender) rufst du Buttons1Click mit dem Parameter Sender auf.
Du willst doch aber nur die Prozedur übergeben.Buttons.SetClick(0, Buttons1Click);
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: OnClick zuweisung schlägt fehl...

  Alt 11. Mär 2009, 23:23
Wie hast du ClickProcedure deklariert?


Zitat von jaenicke:
Mit Buttons1Click(Sender) rufst du Buttons1Click mit dem Parameter Sender auf.
Du willst doch aber nur die Prozedur übergeben.Buttons.SetClick(0, Buttons1Click);
Hier ist doch die Zuweisung:
FButtonList[FX].OnClick:=ClickProcedure;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.288 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: OnClick zuweisung schlägt fehl...

  Alt 11. Mär 2009, 23:26
Zitat von Luckie:
Wie hast du ClickProcedure deklariert?
Steht doch da? procedure TButtons.SetClick(X: integer; ClickProcedure:TNotifyEvent); Das ist der Parameter von SetClick, woraus du zitiert hast.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: OnClick zuweisung schlägt fehl...

  Alt 11. Mär 2009, 23:35
Nein ich meine nicht die Set-Prozedur, sondern die Click-Prozedur, als da wo der Code beim Klicken ausgeführt wird. Die Fehlermeldung kklingt so, als ob er bei der Deklaration of object vergessen hätte.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#6

Re: OnClick zuweisung schlägt fehl...

  Alt 12. Mär 2009, 06:42
Hi!
Die Procedure ist so Deklariert:
    procedure Buttons1Click(Sender: TObject);
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.288 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: OnClick zuweisung schlägt fehl...

  Alt 12. Mär 2009, 06:56
Zitat von Teekeks:
Die Procedure ist so Deklariert:
    procedure Buttons1Click(Sender: TObject);
Das geht nicht, die sollte in einer Klasse stecken. Also zum Beispiel:    procedure TForm1.Buttons1Click(Sender: TObject); Und oben muss die dann unter private auch stehen.

Ansonsten: Hast du mal gemacht was oben schon steht?
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#8

Re: OnClick zuweisung schlägt fehl...

  Alt 12. Mär 2009, 07:00
Also nochmal:
Ich habs so insgesammt schon Deklariert:
Delphi-Quellcode:
  TForm1 = class(TForm)
{...}
  private
    Buttons:TButtons;
    { private declarations }
    procedure Buttons1Click(Sender: TObject);
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
{...}
  Buttons.SetClick(3,Buttons1Click);
end;

procedure TForm1.Buttons1Click(Sender: TObject);
begin
  Buttons.Name('Bu',3);
end;
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.288 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: OnClick zuweisung schlägt fehl...

  Alt 12. Mär 2009, 07:16
Da du jetzt keine Fehler mehr angegeben hast, gehe ich dann einmal davon aus, dass alles funktioniert?
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#10

Re: OnClick zuweisung schlägt fehl...

  Alt 12. Mär 2009, 07:17
Opps. Nein Lazarus meint ich gebe zuwenige Parameter für "Buttons1Click" an.
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:04 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