Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Komponentenentwicklung! class proceduren/objecte? (https://www.delphipraxis.net/48916-komponentenentwicklung-class-proceduren-objecte.html)

JRegier 2. Jul 2005 13:58


Komponentenentwicklung! class proceduren/objecte?
 
Hallo, ich habe ein paar Komponenten entwickelt, bin Anfänger darin!
  • Was ist mit gemeinsam genutzten proceduren/objecten muß ich class procedure/object
    schreiben, weil ich eben ja mehrfach zur Laufzeit erzeuge davon.
  • Wird dann für jede Komponente alle proceduren im Speicher angelegt, wenn ich nicht class
    davor schreibe? z.B. 10 Componenten x 2 proceduren = 20 proceduren?
  • Oder kann ich nicht immer class procedure anwenden?

Robert_G 2. Jul 2005 14:06

Re: Komponentenentwicklung! class proceduren/objecte?
 
class methods verwendet man, wenn sie keinen Bezug zu einer Instanz eines Objektes dieser Klasse brauchen.
Aber selbst instance methods werden nur einmal in der VMT abgelegt.

JRegier 2. Jul 2005 14:18

Re: Komponentenentwicklung! class proceduren/objecte?
 
Zitat:

Zitat von Robert_G
class methods verwendet man, wenn sie keinen Bezug zu einer Instanz eines Objektes dieser Klasse brauchen.
Aber selbst instance methods werden nur einmal in der VMT abgelegt.

Was ist wenn ich eine TList habe die dafür verwendet wird um alle erzeugten Komponenten intern
zu verwalten! Also z.B. wenn bei einer Komponente ein Event auftritt und die anderen Komponenten
dieser classe daraufhin informiert werden müßen um entsprechend zu reagieren? Muß die TList dann
eine class TList sein?

Robert_G 2. Jul 2005 15:32

Re: Komponentenentwicklung! class proceduren/objecte?
 
Autsch... :?
Ich hoffe ich habe nciht verstanden was du meinst. Falls ich es doch habe, suche dir schleunigst Tutorials zum Thema OOP. (Luckie hat da eins auf seiner Website)

BlackJack 2. Jul 2005 16:07

Re: Komponentenentwicklung! class proceduren/objecte?
 
nimm eine TObjectList, und gib den Objekten, die du in diese einfügst, eine Referenz auf diese TObjectList mit. dann kannst du auch alle anderen Objekte informieren, wenn in deinem einem Objekt z.b. ein Event auftritt.
ansonsten halte dich mal an Robert_G's rat. ;)

p.s.: eigentlich brauchst du class-proceduren eher selten (erst recht als anfänger nicht, so könnte man hier sagen), du kannst eigentlich das meiste mit "normalen" methoden auch machen.

JRegier 3. Jul 2005 07:55

Re: Komponentenentwicklung! class proceduren/objecte?
 
Zitat:

Zitat von BlackJack
nimm eine TObjectList, und gib den Objekten, die du in diese einfügst, eine Referenz auf diese TObjectList mit. dann kannst du auch alle anderen Objekte informieren, wenn in deinem einem Objekt z.b. ein Event auftritt.
ansonsten halte dich mal an Robert_G's rat. ;)

p.s.: eigentlich brauchst du class-proceduren eher selten (erst recht als anfänger nicht, so könnte man hier sagen), du kannst eigentlich das meiste mit "normalen" methoden auch machen.

Ja ich meinte je nur das wenn ich nicht class procedure nehme dass dann bei jeder neuen Instanz auch alle deren
proceduren angelegt werden (Speicher freigeben). Aber dieser Irrtum wurde ja hier geklärt!

Und was TObjectList betrifft ich habe immer TList genommen weil ich TObjectList bis jetzt noch nicht gekannt habe, was ist da der Unterschied zwischen TObjectList und TList?

JRegier 3. Jul 2005 07:58

Re: Komponentenentwicklung! class proceduren/objecte?
 
Zitat:

Zitat von Robert_G
Autsch... :?
Ich hoffe ich habe nciht verstanden was du meinst. Falls ich es doch habe, suche dir schleunigst Tutorials zum Thema OOP. (Luckie hat da eins auf seiner Website)

Luckie wo finde ich den Link?

//EDIT

Ah, habe schon gefunden!

Khabarakh 3. Jul 2005 09:40

Re: Komponentenentwicklung! class proceduren/objecte?
 
Zitat:

Zitat von JRegier
Zitat:

Zitat von BlackJack
nimm eine TObjectList, und gib den Objekten, die du in diese einfügst, eine Referenz auf diese TObjectList mit. dann kannst du auch alle anderen Objekte informieren, wenn in deinem einem Objekt z.b. ein Event auftritt.
ansonsten halte dich mal an Robert_G's rat. ;)

p.s.: eigentlich brauchst du class-proceduren eher selten (erst recht als anfänger nicht, so könnte man hier sagen), du kannst eigentlich das meiste mit "normalen" methoden auch machen.

Ja ich meinte je nur das wenn ich nicht class procedure nehme dass dann bei jeder neuen Instanz auch alle deren
proceduren angelegt werden (Speicher freigeben). Aber dieser Irrtum wurde ja hier geklärt!

Und was TObjectList betrifft ich habe immer TList genommen weil ich TObjectList bis jetzt noch nicht gekannt habe, was ist da der Unterschied zwischen TObjectList und TList?

Die Delphi-Hilfe ist schon was Schönes :wink: :
OH
Beschreibung

Mit TObjectList können Sie eine Liste von Objekten speichern und verwalten. Die Komponente stellt Eigenschaften und Methoden für das Hinzufügen, Löschen, Umsortieren, Suchen, Zugreifen und Sortieren von Objekten zur Verfügung. Ist die Eigenschaft OwnsObjects auf true gesetzt (Voreinstellung), verwaltet TObjectList den Speicher seiner Objekte, das heißt, ein Objekt wird freigegeben, wenn sein Index neu zugewiesen wird, wenn es mit der Methode Delete, Remove oder Clear aus der Liste entfernt wird oder wenn die Instanz TObjectList selbst aufgelöst wird.

JRegier 3. Jul 2005 09:57

Re: Komponentenentwicklung! class proceduren/objecte?
 
Zitat:

Zitat von Khabarakh
Die Delphi-Hilfe ist schon was Schönes :wink:

Ja zu dumm von mir sowas zu fragen, gel? Ok sehe ich nächstemal in die Delphi Hilfe! :zwinker:

JRegier 3. Jul 2005 10:02

Re: Komponentenentwicklung! class proceduren/objecte?
 
Zitat:

Zitat von BlackJack
nimm eine TObjectList, und gib den Objekten, die du in diese einfügst, eine Referenz auf diese TObjectList mit. dann kannst du auch alle anderen Objekte informieren, wenn in deinem einem Objekt z.b. ein Event auftritt.

Das ist dann doch wieder Extern, also wenn ich die Komponente weitergebe muß sich derjenige auch daran halten
und eine TObjectList verwenden wie ich das hier verstehe, aber kann man nicht eine class TObejctList haben
in die ich im Constructor die Instanzen einfüge, das wäre Intern! Na ja ich kenn das von Java so!


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 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