AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Event Liste ("TEventList")

Ein Thema von igel457 · begonnen am 19. Sep 2006 · letzter Beitrag vom 19. Sep 2006
Antwort Antwort
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#1

Event Liste ("TEventList")

  Alt 19. Sep 2006, 17:32
Hallo,

ich möchte eine Liste erstellen, in die man mehrere Events einfügen kann.
Ich habe mir folgendes überlegt:

Delphi-Quellcode:

type
  TPushEvent = procedure(ALua:Lua_State;ASender:TObject;ATable:integer);

type TPushEventList = class(TList)
  private
    function GetItem(AIndex:integer):TPushEvent;
    procedure SetItem(AIndex:integer;AItem:TPushEvent);
  protected
  public
    property Items[AIndex:integer]:TPushEvent read GetItem write SetItem;default;
  published
end;


{ TPushEventList }

function TPushEventList.GetItem(AIndex:integer):TPushEvent;
begin
  result := inherited Items[AIndex];
end;

procedure TPushEventList.SetItem(AIndex:integer;AItem:TPushEvent);
begin
  inherited Items[AIndex] := AItem; <---
end;
Leider funktioniert dieser Code nicht. An der mit dem Pfeil makierten Stelle meckert er "Nicht genügend wirkliche Parameter".

Außerdem kommt die selbe Fehlermeldung, wenn ich ein Event einfügen möchte:
  AList.Add(OnPush); Ich kenne mich leider mit Events nicht so richtig aus, garantiert ist die Lösung ganz einfach.

Danke für eure Hilfe,
igel457
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Event Liste ("TEventList")

  Alt 19. Sep 2006, 18:04
Ich galaube, ich habe die Lösung doch noch gefunden:
http://www.swissdelphicenter.ch/torr...ode.php?id=959

So eine Liste wäre vieleicht auch was für die CodeLib...
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#3

Re: Event Liste ("TEventList")

  Alt 19. Sep 2006, 18:50
Zitat von igel457:
Ich galaube, ich habe die Lösung doch noch gefunden:
http://www.swissdelphicenter.ch/torr...ode.php?id=959
Wobei da deine Lösung von der Umsetzung her deutlich besser ist. Alles in Button<sionstwas>Click zu packen is nicht gerade schön und alles andere als OOP.

IMHO fehlen bei dir nur die @s... Du willst ja die Adresse...

TNotifyEvent is IMHO nix anderes, als n record mit nem Pointer auf den Code samt Zusatzinfos. Da ohne @ Delphi davon ausgeht, dass du die Funktion aufrufebn willst, musst du das @ davorschreiben, damit die Adresse der Prozedur bzw. des dazugehörigen Records verwendet wird...nicht zutreffendes bitte korrigieren

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Event Liste ("TEventList")

  Alt 19. Sep 2006, 18:52
Em...
Ist schon gelöst. Siehe http://www.delphipraxis.net/internal...ct.php?t=92684

[Edit]Ist aber richtig, was du gesagt hast. So gehts![/Edit]
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  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 21:19 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