AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Assign für TDictionary implementieren

Ein Thema von DCoderHH · begonnen am 4. Sep 2019 · letzter Beitrag vom 4. Sep 2019
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#1

AW: Assign für TDictionary implementieren

  Alt 4. Sep 2019, 11:39
Aber du prüfst ja direkt, ob es TMyDictionary ist.
Das könnte in einer Ableitung aber ja durchaus anders sein.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.307 Beiträge
 
Delphi 12 Athens
 
#2

AW: Assign für TDictionary implementieren

  Alt 4. Sep 2019, 11:46
Aber du prüfst ja direkt, ob es TMyDictionary ist.
Das könnte in einer Ableitung aber ja durchaus anders sein.
Dann dürfte in der Ableitung aber kein Inherited aufgerufen werden, da ja sofort AssignError ins Spiel kommt.

Wenn es ein ganz anderer Parameter ist, der auch das Assign vom Elternobjekt nicht verwenden darf, dann könnte man auch ein "overload" verwenden.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#3

AW: Assign für TDictionary implementieren

  Alt 4. Sep 2019, 11:56
@bernau wie inherited darf nicht aufgerufen werden ...
Delphi-Quellcode:
procedure TMyOtherDict.Assign(Source:TObject);
begin
  if Source is TFoo then
  begin
    ...
  end
  else
    inherited;
end;
klar, nicht einfach blind aufrufen, aber durchaus konditional aufrufbar
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.307 Beiträge
 
Delphi 12 Athens
 
#4

AW: Assign für TDictionary implementieren

  Alt 4. Sep 2019, 13:24
klar, nicht einfach blind aufrufen, aber durchaus konditional aufrufbar
Das stimmt natürlich.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#5

AW: Assign für TDictionary implementieren

  Alt 4. Sep 2019, 12:30
Dann dürfte in der Ableitung aber kein Inherited aufgerufen werden, da ja sofort AssignError ins Spiel kommt.
Das gilt aber auch für jeden Abkömmling von TPersistent. Allerdings bietet die Assign-Implementierung von TPersistent eine Art Fallback auf AssignTo, bei dem Source die Arbeit überlässt. Das ist in der obigen TMyDictionary-Implementierung nicht vorgesehen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:06 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