AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Events von Objekten, die während der Laufzeit erzeugt werden
Thema durchsuchen
Ansicht
Themen-Optionen

Events von Objekten, die während der Laufzeit erzeugt werden

Ein Thema von stiftII · begonnen am 15. Okt 2009 · letzter Beitrag vom 16. Okt 2009
Antwort Antwort
Seite 2 von 2     12   
stiftII

Registriert seit: 2. Sep 2009
Ort: Cuxhaven
122 Beiträge
 
#11

Re: Events von Objekten, die während der Laufzeit erzeugt we

  Alt 16. Okt 2009, 21:59
Zitat:
[Error] Unit1.pas(190): Incompatible types: 'TNotifyEvent' and 'Procedure'
Werd ich auf jeden fall machen. Würde nur erstmal gerne das Problem hier lösen.

Also hab die Prozedur in meiner Klasse eingetragen, und dann erstellt, wenn ich sie dann dem ereignis
(names[i].onclick = meineklasse.MyLabelsClick) zuweise kommt diese Fehlermeldung (siehe oben).

~stift
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#12

Re: Events von Objekten, die während der Laufzeit erzeugt we

  Alt 16. Okt 2009, 22:07
Wie sieht deine Funktionsdefinition nun aus?

siehe Beitrag #10
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
stiftII

Registriert seit: 2. Sep 2009
Ort: Cuxhaven
122 Beiträge
 
#13

Re: Events von Objekten, die während der Laufzeit erzeugt we

  Alt 16. Okt 2009, 22:19
Hallo nochmal himitsu.

Das ganze sieht bei mir nun so in etwa aus.


Delphi-Quellcode:

type

  myThread = class(TThread)
  fSleepRequest : Boolean;
  IdHTTPLT: TIdHTTP;
  procedure MyLabelsClick(Sender: TObject);
  protected
    procedure Execute; override;
  Public
    Procedure GotoSleep;
    Procedure WakeUp;
  end;

......



procedure mythread.MyLabelsClick(Sender: TObject);
begin
  (Sender as TLabel).Color := clRed;
end;

procedure mythread.execute;
var
  Names : Array [0..5] of TLabel;
begin
//Objekte erzeugen
  for i:=0 to high(names) do
  begin
    Names[i] := TLabel.Create(Form1);
    Names[i].OnClick := mythread.MyLabelsClick;
  end;

//anzeigen
  for i:=0 to high(names) do
    Names[i].Parent:=Form1;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#14

Re: Events von Objekten, die während der Laufzeit erzeugt we

  Alt 16. Okt 2009, 22:27
mythread.MyLabelsClick wäre für eine Klassen-Procedur
du brauchst aber eine Objekt-Prozedur

in deinem Fall
Names[i].OnClick := self.MyLabelsClick; und das Self. kann man hier auch weglassen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Events von Objekten, die während der Laufzeit erzeugt we

  Alt 16. Okt 2009, 22:32
... und damit das im Quelltext schneller ersichtlich wird, solltest Du Deine Klasse

TMyThread = class(TThread) nennen.

Das ist zwar nicht zwingend erforderlich, aber den Delphi-Konventionen entsprechend.

MyThread sieht eben nach einer Objektinstanz aus.
Bei TMyThread vermutet man schon eher einen Typ oder eine Klasse.
  Mit Zitat antworten Zitat
stiftII

Registriert seit: 2. Sep 2009
Ort: Cuxhaven
122 Beiträge
 
#16

Re: Events von Objekten, die während der Laufzeit erzeugt we

  Alt 16. Okt 2009, 23:05
Danke, das macht Sinn!.

Funktioniert zudem noch wunderbar .

~stift
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23:16 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