Forum: Object-Pascal / Delphi-Language
by EdAdvokat,
13. Mai 2018
Habe nochmals probiert das
Key := TPair<string, integer>.create;
und auch die Freigabe von Key völlig herauszunehmen. Dann läuft das Programm wie gewollt. Also ist der Aufruf von .create überflüssig und daher auch keine Freigabe nötig. Alles läuft in der system.generics.collection ab oder?
Forum: Object-Pascal / Delphi-Language
by EdAdvokat,
13. Mai 2018
Hallo Haentschman, es knallt beim Aufruf des constructors:
type
TIIPair = TPair<Integer, Integer>;
...
procedure TForm1.btnKeyClick(Sender: TObject);
var
Key: TPair<string, integer>;
begin //string zugewiesen
//Key := TPair<string, integer>.create; //<----Fehler"Nicht genügend wirkliche Parameter"
try
Forum: Object-Pascal / Delphi-Language
by EdAdvokat,
12. Mai 2018
Wenn ich
type
TPair<TKey,TValue> = class // TKey. TValue type parameters
FKey: TKey;
FValue: TValue;
end;
aufnehme und Key zu FKey und Value zu FValue ändere läuft es.
Forum: Object-Pascal / Delphi-Language
by EdAdvokat,
12. Mai 2018
PS: Ich verstehe den Sinn hinter dem btnInhaltClick und btnKeyClick nicht. Was wolltest du erreichen?
Das war nur eine Spielerei von mir ohne jeglichen Hintersinn nur zum eigenen Verständnis.
Es haben sich vermutlich unsere beiden Beiträge gekreuzt. Ich hatte zwischenzeitlich das Ganze umgeschrieben und den Hinweis auf Kürzung umgesetzt, ohne
Deinen geänderten Quelltext gesehen zu haben. ...
Forum: Object-Pascal / Delphi-Language
by EdAdvokat,
12. Mai 2018
Da habe ich mich streng an die Vorschläge von Embarcadero zu generics gehalten und diese Beispiele nur ausformuliert und nun ist das auch schon veraltet.
Aber Danke, dass Du mir wieder mal auf die Sprünge hilfst. (http://docwiki.embarcadero.com/RADStudio/Tokyo/de/Deklaration_von_Generics
http://docwiki.embarcadero.com/RADStudio/Tokyo/de/%C3%9Cbersicht_%C3%BCber_Generics )
Das war das erste...
Forum: Object-Pascal / Delphi-Language
by EdAdvokat,
12. Mai 2018
Habe in #12 den erfolgreichen Versuch auch mit der Bezeichnung procedure Postleitzahlen() mitgeteilt. Es läuft prima und ich experimentiere nun ein wenig, nachdem ich mal in System.Generics.Collections herumgeschnüffelt habe. Verdammt kompliziert und für mich noch nicht so erhellend. Nun bin ich dabei mit Hilfe von Tante Google mein schwaches neu angeeignetes Wissen ggf. mit Beispielen zu...
Forum: Object-Pascal / Delphi-Language
by EdAdvokat,
12. Mai 2018
bleibt es nun bei: type
TPostleitzahl = Integer;
TOrtsName = String; ?
So jedenfalls habe ich es nun zum laufen gebracht. Interessante Problematik. Das hängt doch auch mit der TObjectlist bzw. TList zusammen bzw. ist dies auch Teil von System.Generics.Collections?
Ich werde mir das ganze mal genauer ansehen. Gibt es dazu möglicherweise ein gutes Tutorial?
Ich danke Euch für die...
Forum: Object-Pascal / Delphi-Language
by EdAdvokat,
11. Mai 2018
was muss ich ergänzen, um Postleitzahlen.Add... aufrufen zu können? ist hier eine Objectlist gefragt und wie mache ich das?
Ich habe versucht die mir vorgeschlagene procedure postleitzahlen() aufzurufen doch bei Add ist schluss.
Forum: Object-Pascal / Delphi-Language
by EdAdvokat,
11. Mai 2018
Nein das war ein Versehen. Ich habe Delphi 10.2 Tokyo prof.
Übrigens in diesem Zusammenhang noch eine Frage: ich habe das Programm geschrieben und erst später festgestellt dass Contnrs, System.Generics.Collections nicht in der uses-Anweisung enthalten waren. Trotzdem wurde das Programm ohne Fehler ausgeführt.
Ist das ok?
Forum: Object-Pascal / Delphi-Language
by EdAdvokat,
11. Mai 2018
Ich schleiche mich so ganz langsam an generics heran und bin mir nicht so ganz sicher, ob ich es wirklich richtig verstanden habe.
Anbei mein Versuch:
type
TPair<TKey,TValue> = class // TKey. TValue type parameters
FKey: TKey;
FValue: TValue;
function GetValue: TValue;
function GetKey: TKey;
procedure setValue(V:TValue);
procedure setKey(K:TKey);