Einzelnen Beitrag anzeigen

Benutzerbild von zecke
zecke

Registriert seit: 17. Jan 2004
494 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Funktion einem OnClick allen Komponenten eines Typs zuwe

  Alt 18. Sep 2007, 19:15
hi,

also das bei "procedure UpDownSwitch", das habe ich geändert, weil mit einem "procedure Form1.UpDownSwitch.." noch mehr Probleme habe ^^

Es sieht jetzt genau so aus:

Delphi-Quellcode:
uses blabla...
...
procedure UpDown15Click(Sender: TObject; Button: TUDBtnType);
procedure UpDownSwitch(Sender: TObject; Button: TUDBtnType);
procedure Button1Click(Sender: TObject);
...
...
procedure Form1.UpDownSwitch(Sender: TObject; Button: TUDBtnType);
begin
If (Button=btNext) and (AllCount>0) and (shortint(TUpdown(Sender).Position)<11) then
begin
  AllCount:=AllCount-1;
  Form1.Edit1.Text:=IntToStr(AllCount);
end;
If (Button=btPrev) and (AllCount<60) and (shortint(TUpdown(Sender).Position)>-1) then begin
  AllCount:=AllCount+1;
  Form1.Edit1.Text:=IntToStr(AllCount);
end;
end;
...
...
procedure TForm1.FormShow(Sender: TObject);
...
for i := 1 to 15 do begin
  (FindComponent('UpDown'+IntToStr(i)) as TUpDown).OnClick:=UpDownSwitch;
end;

end;
Dann erhalte ich Bezeichner redefiniert (bei Form1), undefinierte bezeichner bei sender und button, 3 mal operator nicht auf diesen operandentyptypen anwendbar und zuletzt "E2065 Ungenügende Forward- oder External-Deklaration: 'TForm1.UpDownSwitch'".
Entferne ich das "Form1", dann erhalte ich die letzte Meldung nur bei der Deklaration oben unter Uses. Wenn ich diese Zeile auskommentiere bin ich wieder bei "E2009 Inkompatible Typen: 'Methodenzeiger und reguläre Prozedur'", wie in meinem vorigen Post beschrieben.

Bin nicht gerade der erfahrene Programmierer ^^ lasst Gnade walten
mfg zecke
  Mit Zitat antworten Zitat