AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Onclick mit weiteren Parametern als nur "Sender:Tobject"
Thema durchsuchen
Ansicht
Themen-Optionen

Onclick mit weiteren Parametern als nur "Sender:Tobject"

Ein Thema von Dt2158 · begonnen am 1. Dez 2004 · letzter Beitrag vom 1. Dez 2004
Antwort Antwort
Dt2158

Registriert seit: 23. Nov 2002
Ort: Berlin
40 Beiträge
 
Delphi 7 Personal
 
#1

Onclick mit weiteren Parametern als nur "Sender:Tobject

  Alt 1. Dez 2004, 13:43
Hallo,

ich habe folgendes Problem:
Ein zur laufzeit erzeugter button "but1"

Delphi-Quellcode:
type
...
procedure But1Click(Sender: TObject);
 private
...
...
...
...

but1.onclick := But1Click;

..
..

procedure TForm1.But1Click(Sender: TObject);
begin
...
end
Geht einwandfrei, klar!
aber ich möchte gerne die Parameterliste erweitern

etwa so:

Delphi-Quellcode:
type
...
procedure But1Click(Sender: TObject; x:string);
 private
...
...
...
...

but1.onclick := But1Click('irgendein string');

..
..

procedure TForm1.But1Click(Sender: TObject; x:string);
begin
...
end

Da kommt die meldung:
Code:
[Fehler] main.pas(289): Inkompatible Typen: 'TObject' und 'String'
gut sender:Tobject !!
was kann ich tun ??
aus dem
but1.onclick := But1Click('irgendein string'); ein but1.onclick := But1Click(but1,'irgendein string'); zu machen, resultiert in diesem fehler
Code:
[Fehler] main.pas(289): Inkompatible Typen: 'TNotifyEvent' und 'procedure, untyped pointer or untyped parameter'
Dt2158
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#2

Re: Onclick mit weiteren Parametern als nur "Sender:Tob

  Alt 1. Dez 2004, 13:46
welchen sinn verfolgst du damit?
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#3

Re: Onclick mit weiteren Parametern als nur "Sender:Tob

  Alt 1. Dez 2004, 13:59
Hi,

OnClick ist vom Typ TNotifyEvent, der folgendermaßen definiert ist:
Delphi-Quellcode:
TYPE
  TNotifyEvent = PROCEDURE (Sender: TObject) OF OBJECT;
Das heißt, OnClick wird nur der Methodenname übergeben. Des weiteren ist somit klar, dass Du einem 'normalen' TNotifyEvent-Handler keine weiteren Parameter übergeben kannst, da diese ja bereits definiert sind.
Hmm.. habs heut nich so mitm Erklären, sry

Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Dt2158

Registriert seit: 23. Nov 2002
Ort: Berlin
40 Beiträge
 
Delphi 7 Personal
 
#4

Re: Onclick mit weiteren Parametern als nur "Sender:Tob

  Alt 1. Dez 2004, 14:03
der string:but1.onclick := But1Click('irgendein string'); stammt von einem mysql-result
var row: PMYSQL_ROW; also but1.onclick := But1Click(row[0]); das problem ist, dass es mir nicht gelungen ist die variable row: PMYSQL_ROW global zu registrieren, sondern nur in der procedure in der auch der aufruf von But1Click stattfindet.

Gut ich könnte jetzt noch eine global Variable registrieren und dieser row[0] übergeben, das ist aber alles nicht so schön gelöst und mein programm sieht jetzt schon nicht so toll aus
  Mit Zitat antworten Zitat
Dt2158

Registriert seit: 23. Nov 2002
Ort: Berlin
40 Beiträge
 
Delphi 7 Personal
 
#5

Re: Onclick mit weiteren Parametern als nur "Sender:Tob

  Alt 1. Dez 2004, 14:07
Zitat von Steve:
Hi,

OnClick ist vom Typ TNotifyEvent, der folgendermaßen definiert ist:
Delphi-Quellcode:
TYPE
  TNotifyEvent = PROCEDURE (Sender: TObject) OF OBJECT;
Das heißt, OnClick wird nur der Methodenname übergeben. Des weiteren ist somit klar, dass Du einem 'normalen' TNotifyEvent-Handler keine weiteren Parameter übergeben kannst, da diese ja bereits definiert sind.
Hmm.. habs heut nich so mitm Erklären, sry

Gruß
Stephan
grummel, da muss ich doch den anderen weg nehmen
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#6

Re: Onclick mit weiteren Parametern als nur "Sender:Tob

  Alt 1. Dez 2004, 14:07
Hallo,
Ich verstehe trotzdem nicht warum du das machen willst und was es bewirken soll.
Willst du einen String außerhalb dieser Prozedur speichern?
Dann nimm eine Membervariable der Klasse. Ich kann aber nur raten, was du bezweckst.

grüße, daniel
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
s14

Registriert seit: 15. Mai 2003
Ort: München
251 Beiträge
 
Delphi 7 Architect
 
#7

Re: Onclick mit weiteren Parametern als nur "Sender:Tob

  Alt 1. Dez 2004, 14:50
Hallo,
ich verwende für die Übergabe von Zeichenfolgen einfach die Eigenschaft "Hint" des TButton.

Code:
  but1.Hint := 'Irgendwas';
  but1.onclick := But1Click;

  procedure TForm1.But1Click(Sender: TObject);
  var
    s : string;
  begin
    s := (Sender as TButton).Hint;
  end
  Mit Zitat antworten Zitat
Dt2158

Registriert seit: 23. Nov 2002
Ort: Berlin
40 Beiträge
 
Delphi 7 Personal
 
#8

Re: Onclick mit weiteren Parametern als nur "Sender:Tob

  Alt 1. Dez 2004, 15:00
Zitat von s14:
Hallo,
ich verwende für die Übergabe von Zeichenfolgen einfach die Eigenschaft "Hint" des TButton.

Code:
  but1.Hint := 'Irgendwas';
  but1.onclick := But1Click;

  procedure TForm1.But1Click(Sender: TObject);
  var
    s : string;
  begin
    s := (Sender as TButton).Hint;
  end
geile idee mal ausprobieren
  Mit Zitat antworten Zitat
Dt2158

Registriert seit: 23. Nov 2002
Ort: Berlin
40 Beiträge
 
Delphi 7 Personal
 
#9

Re: Onclick mit weiteren Parametern als nur "Sender:Tob

  Alt 1. Dez 2004, 20:02
hat wunderbar geklappt, danke!
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:55 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