AGB  ·  Datenschutz  ·  Impressum  







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

Klassen Wegoptimieren abschalten ?

Ein Thema von moelski · begonnen am 30. Nov 2010 · letzter Beitrag vom 1. Dez 2010
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: Klassen Wegoptimieren abschalten ?

  Alt 1. Dez 2010, 08:18
Was passiert, wenn zufällig irgendeine Klasse, welche mit deiner Nutung rein garnichts zu tun hat, zufällig einen passenden Klassennamen oder dieses Attribut besitzt?

Besser wäre es, wenn diese Klasse also z.B. von einem bestimmten Vorfahren abgeleitet ist, damit du direkt über diesen Vorfahren zugreifen kannst (nötige Methoden per virtual+override hinzugefügt).
Somit könnte man auch noch "sicherer" prüfen, ob die Klasse auch über die gewünschten Funktionen verfügt.

Wenn man da nun eh eine Unit (mit der Basisklasse) einbinden muß, dann wäre es ein Leichtes, dort eine Registrierungsstelle anzubieten, wo neue Klassen registriert werden.

Und schon hat man keinerlei Probleme mehr.
- registrierte (benutzte) Klassen werden nicht wegoptimiert
- die überschriebenen Methoden und in der Basisklasse verwendeten Methoden, beiben ebenfalls erhalten
- man hat nun eine wunderschöne und extrem leicht zu durchsuchende Liste alle wichten Klassen
und muß nun auch keine der anderen zigtausend Klassen rausfiltern, welche die RTTI unnötiger Weise mit auflistet.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 1. Dez 2010 um 09:05 Uhr)
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Klassen Wegoptimieren abschalten ?

  Alt 1. Dez 2010, 08:24
Moin !

Eine Basisklasse habe ich.

type TInputDevice = class
...
end;

Und alle Geräteklassen sind davon abgeleitet:
type TLVUDP50 = class(TInputDevice)
...
end;

Zitat:
dort eine Registrierungsstelle anzubieten
Das würde ich wie machen ?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.233 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Klassen Wegoptimieren abschalten ?

  Alt 1. Dez 2010, 08:31
Zitat:
dort eine Registrierungsstelle anzubieten
Das würde ich wie machen ?
Definiere ein Register-Funktion denen du die Klasse übergibst:

Delphi-Quellcode:
type
  TInputDeviceClass = class of TInputDevice;

var
  ReisteredDevices: TObjectList;

procedure Register Device(DeviceClass: TInputDeviceClass)
begin
  ReisteredDevices.Add(DeviceClass);
end;

Mit neuen Delphi-Versionen könntest du natürlich mit Generics bei RegisteredDevices arbeiten um das ganze gecaste zu ersparen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Klassen Wegoptimieren abschalten ?

  Alt 1. Dez 2010, 09:14
Bei Register Device ist bestimmt ausversehn ein Leerzeichen reingerutscht.

Und dann einfach nur noch die Klassen da registrieren, wo sie erstellt wurden.
Delphi-Quellcode:
type
  TMyInputDevice = class(TInputDevice)

  end;

  ...

initialization
  RegisterDevice(TMyInputDevice);

end.
Ein Therapeut entspricht 1024 Gigapeut.
  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 07:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz