AGB  ·  Datenschutz  ·  Impressum  







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

Sinn oder Unsinn von Class Helper

Ein Thema von WoGe · begonnen am 4. Jan 2010 · letzter Beitrag vom 31. Mai 2016
Antwort Antwort
Seite 2 von 2     12   
WoGe

Registriert seit: 16. Jun 2005
Ort: Kelkheim
178 Beiträge
 
Delphi 10.3 Rio
 
#11

Re: Sinn oder Unsinn von Class Helper

  Alt 4. Jan 2010, 14:05
@himitsu
Ich glaube das ist so nicht ganz richtig (zumindest meinem bisherigen Wissenstand nach).
Ein typisierte Konstante gehört zur Instanz in der Sie erzeugt wird.
Und damit könnte man sozusagen Instanzvariablen erzeugen.

Mein Memoryleak kommt ja nur daher, das ich weitere Datenstrukturen mittels New erzeuge und ich die Stelle wo ich die wieder freigeben kann noch nicht entdeckt habe.

Grüsse
wo
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.594 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Sinn oder Unsinn von Class Helper

  Alt 2. Sep 2010, 21:48
class helper kann man nicht zufällig von einem Objekt ableiten?

Habs zumindest nicht hinbekommen, wäre aber hilfreich.
Sven Harazim
--
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Sinn oder Unsinn von Class Helper

  Alt 2. Sep 2010, 21:50
Wie meinst du das? Ein Class Helper erweitert ja eine Klasse ohne sie abzuleiten
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.594 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Sinn oder Unsinn von Class Helper

  Alt 2. Sep 2010, 21:55
Delphi-Quellcode:
TMeineKlasse = class(TDieKlasse)
end;

TMeineKlasseHelper = class(TAndereKlasse) helper for TMeineKlasse
end;
Quasi so, sozusagen indirekte Mehrfachvererbung.

//Edit:

Mach es grad über verschachtelte Klassen, Helper wäre aber eleganter gewesen.
Sven Harazim
--

Geändert von sh17 ( 2. Sep 2010 um 22:00 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Sinn oder Unsinn von Class Helper

  Alt 2. Sep 2010, 22:07
Delphi unterstützt, wie auch Java und c# aus guten Grund keine Megrfachvererbung. Zudem sind class helper kein vollständiger Ersatz für Ableitung, da man durch sie nur erweitern kann aber nicht Überladen oder Überschreiben.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

AW: Sinn oder Unsinn von Class Helper

  Alt 29. Sep 2010, 19:36
Ein sehr interessantes Video zu "class helper".

Werde ich mal testen, ob sich mein aktuelles Problem damit erschlagen lässt.
Ich habe allerdings auch von Compilerproblemen gelesen - dass es also praktisch (in größerem Umfang) nicht wirklich einsetzbar ist (oder früher war).


Zu meinem Hintergrund:

Ich habe in einer Basisunit Datenklassen, die anhand einer festgelgten Struktur komplett durch einen "Experten" erstellt werden und sich gegenseitig referenzieren können. Ist ja kein Problem, solange alle in einer Unit stehen.
In meinem "richtigen" Projekt will ich jedoch zusätzliche Methoden nutzen, die entsprechend Daten lesen und ändern und auch andere Instanzen suchen und verwenden. Da die Instanzen aus den Basisklassen erzeugt werden müsste ich immer mit Typecasts arbeiten wenn ich die neuen Methoden in Kindklassen einführe.

Im Moment erzeuge ich die Instanzen daher erst von den Kind-Klassen, das kann nach Änderungen der Datenstrukturen jedoch dann nicht mehr durch den Experten automatisch erfolgen. Außerdem wäre es einfach übersichtlicher, wenn diese Sachen direkt in den Basisklassen erfolgen könnten.

In den Helperklassen sehe ich nun einen potentiellen Ausweg und werde das mal versuchen - wobei mir ein Multipass-Compiler im Delphi auf jeden fall deutlich lieber wäre.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (29. Sep 2010 um 21:01 Uhr)
  Mit Zitat antworten Zitat
DualCoreCpu
(Gast)

n/a Beiträge
 
#17

AW: Sinn oder Unsinn von Class Helper

  Alt 31. Mai 2016, 20:27
Ich experimentiere gerade mit fclimage aus Freepascal rum. Will dort 2 Methoden aus TfpCustomcanvas überschreiben, die dort protected und virtual abstract deklariert sind.

Da ich zeichnen will, habe ich die TfpPixelcanvas Klasse ausgewählt. FPC sagt mir nun aber, daß es keine Methoden dieses Namens in der Ursprungsklasse gebe. Bei TfpPixelcanvas trifft das auch zu, diese Klasse ist aber von TfpCustomCanvas abgeleitet. Dort aber befinden sich die Methoden, die ich überschreiben will. Ich habe hinter der überschriebenen Methode die override Direktive gesetzt und verstehe jetzt nicht, was daran falsch ist.

Ich stelle die Frage hier, weil ich hoffe, mittels Helper Klassen, die es in FPC 3.0.0 auch gibt, eine Lösung zu finden. Kann ich damit auf die Protected Methoden zugreifen. Oder sollte ich eine andere Canvas Klasse nach dem Vorbild von TFPpixelCanvas ableiten.

Ich wollte eigentlich die fpPixelCanvas Klasse verwenden und die fehlenden Methoden, die in FPCustomcanvas abstract deklariert sind, in meiner Klasse ableiten, da alle Zeichenmethoden in TfpPixelcanvas bereits implementiert sind. Nun tritt aber das beschriebene Problem auf.


Ist das vielleicht ein Fall für die Helper Klassen???
  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 20:26 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