AGB  ·  Datenschutz  ·  Impressum  







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

Wirkliche Unterschiede??

Ein Thema von Delbor · begonnen am 24. Apr 2017 · letzter Beitrag vom 24. Apr 2017
Antwort Antwort
Seite 3 von 4     123 4      
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#21

AW: Wirkliche Unterschiede??

  Alt 24. Apr 2017, 14:27
Hi zusammen
@DeddyH:
Zitat:
Das hat doch nichts mit Liste oder Collection zu tun, sondern rein damit, wie der Rückgabewert (im Bezug auf den Datentyp) der Add-Methode deklariert ist.
Tja, wenn ich das jetzt richtig verstanden habe, hat Hobbycoder gezeigt, wie auch eine TStringlist.Add-Methode ein Object zurüchgeben kann.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#22

AW: Wirkliche Unterschiede??

  Alt 24. Apr 2017, 14:32
Ist eine TStringList vielleicht auch eine Liste?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#23

AW: Wirkliche Unterschiede??

  Alt 24. Apr 2017, 14:33
Tja, wenn ich das jetzt richtig verstanden habe, hat Hobbycoder gezeigt, wie auch eine TStringlist.Add-Methode ein Object zurüchgeben kann.
Wo?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#24

AW: Wirkliche Unterschiede??

  Alt 24. Apr 2017, 15:06
Das hat doch nichts mit Liste oder Collection zu tun, sondern rein damit, wie der Rückgabewert (im Bezug auf den Datentyp) der Add-Methode deklariert ist.
Das war es, was ich damit klar machen wollte.

Hi zusammen
@DeddyH:
Zitat:
Das hat doch nichts mit Liste oder Collection zu tun, sondern rein damit, wie der Rückgabewert (im Bezug auf den Datentyp) der Add-Methode deklariert ist.
Tja, wenn ich das jetzt richtig verstanden habe, hat Hobbycoder gezeigt, wie auch eine TStringlist.Add-Methode ein Object zurüchgeben kann.

Gruss
Delbor
Wenn die Add-Methode der Klasse TStringList dieses unterstützen würde, sicher. Tut sie aber nicht, sie liefert einen Integer. Hab ich auch nie irgendwo geschrieben.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: Wirkliche Unterschiede??

  Alt 24. Apr 2017, 15:24
Hi DeddyH

Zitat:
Wo?
Hier:
Delphi-Quellcode:
function TAdressList.Add(Name: string): TAdress;
var
  Adress: TAdress;
begin
  Adress: TAdress.create;
  Adress.Name:=Name;
  self.Add(Adress);
  Result:=Adress;
end;
@Hobbycoder:
Zitat:
Wenn die Add-Methode der Klasse TStringList dieses unterstützen würde, sicher. Tut sie aber nicht, sie liefert einen Integer. Hab ich auch nie irgendwo geschrieben.
Was machst du denn anderes, als die von TStringlist geerbte Add-Methode in TAdresslist zu überschreiben?
Okay, das müsste anders formuliert sein:
Zitat:
wie auch eine TStringlist.Add-Methode ein Object zurüchgeben kann.
Stattdessen müsste es wohl heissen:
Zitat:
wie auch in einem TStringlist-Nachkomme eineAdd-Methode ein Object zurüchgeben kann.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#26

AW: Wirkliche Unterschiede??

  Alt 24. Apr 2017, 15:28
Wer sagt denn, dass die TAddressList von TStringList abstammt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#27

AW: Wirkliche Unterschiede??

  Alt 24. Apr 2017, 16:07
Hi DeddyH
Zitat:
Wer sagt denn, dass die TAddressList von TStringList abstammt?
Ich, in Antwort 15:

Delphi-Quellcode:
var Adresslist: TStringlist;

Adresslist.Add(xxxx);
Adresslist.Add(xxxx);
Adresslist.Add(xxxx);
Adresslist.Add(xxxx);
Das ist definitiv immer die gleiche Instanz und auch immer die gleiche Add-Methode.
Okay,hier verwende ich eine lokale Instanz. So aus dem Stegreif heraus (ich bin mir nicht ganz sicher) müsste ich eine eigene Klasse TAddresslist deklarieren und könnte dann in deren Konstruktor die geerbte Add-Methode überschreiben.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#28

AW: Wirkliche Unterschiede??

  Alt 24. Apr 2017, 16:26
Jetzt wirfst Du aber alles durcheinander. Im gesamten Thread war nie von TStringList die Rede, bis Du damit angefangen hast. Die eingangs gezeigten MapRules jedenfalls sind definitiv keine TStrings oder Nachkommen davon.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: Wirkliche Unterschiede??

  Alt 24. Apr 2017, 18:22
Hi DeddyH
Zitat:
Jetzt wirfst Du aber alles durcheinander. Im gesamten Thread war nie von TStringList die Rede, bis Du damit angefangen hast. Die eingangs gezeigten MapRules jedenfalls sind definitiv keine TStrings oder Nachkommen davon.
Bis ungefähr hierhin hatte ich angenommen, dass Maprules eine Liste ist:
Zitat:
Ich ging eigentlich erstmal auch davon aus, dass Add eine Methode von MapRules ist und war deshalb auch erstaunt, dass das Konstrukt
MapRules.Add(PrecMax := 2); nicht funktionierte.
Daher auch meine Vermutung, dass Add eine Klasse mit dem Property PrecMax sein müsste. Aber eben: wer nennt seine Klasse schon 'Add'??
Und mit der Klasse hatte ich gar nicht so unrecht - nur heisst die nicht 'Add', sondern wird von einer Funktion diesen Namens zurückgegeben. Nur war mir das damals noch nicht wirklich klar, wesshalb ich nach wie vor von einer Liste ausging. Zumindest, bis ich einen lange übersehenen Beitrag entdeckte:
Zitat:
hier, guckt doch einfach in die Wiki :p
Ich hatte zwar darauf aufmerksam gemacht, nur hatte ich übersehen, dass der Link nicht mitkopiert wurde.
Später hatte ich dann wegen dieses Links auf TCollection Bezug genommen und Vergleiche mit TStringlist gemacht.

Denn genau diese und ihre Add-Methode waren es ja, die mich veranlasst hatten, diesen Thread zu eröffnen. Und da lag wohl auch mein Hauptfehler: Im Eingangsbeitrag hätte ich schreiben müssen, dass mit dem in Delphi vordefinierten TStringlist.Add der auskommentierte Code hätte funktionieren müssen.

'tschuldigung

Ich hoffe, ich konnte den von mir geknüpften gordischen Knoten nun etwas lösen!

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#30

AW: Wirkliche Unterschiede??

  Alt 24. Apr 2017, 18:55
Alles gut

Manchmal passiert das eben, dass man mehr oder weniger an einander vorbei redet.
Auch ich hatte in deinem Post#15 überlesen, dass du nun das Beispiel auf TStringList geändert hattest.
Ich bin immer von einer TList oder ToBjectList ausgegangen, weil ich mal angenommen habe, dass TMapRules nicht nur eine einfache StringList ist. Und das wiederum deswegen, weil sowas:
Delphi-Quellcode:
      with MapRules.Add do begin
         PrecMax := 19;
         PrecMin := 4;
         SourceDataType := dtFmtBCD;
         TargetDataType := dtCurrency;
       end;
bei einer StringList so überhaupt nicht funktionieren kann.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 18:29 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