Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eine Generics TObjectList<T> als Parameter (https://www.delphipraxis.net/171293-eine-generics-tobjectlist-t-als-parameter.html)

himitsu 1. Dez 2012 20:42

AW: Eine Generics TObjectList<T> als Parameter
 
overload?



overload = Methode überladen (weitere Deklaration mit anderen Parameter-Typen
virtual = überschreibbar
static = statischer Aufruf (es gibt kein Self)



[add]
Delphi-Quellcode:
  TDummy = record
    class procedure Test<T:class>(ObjectList: TCustomObjectList<T>; ID: Integer); static; overload; // könnte auch overload; static; sein
    class procedure Test<T:class>(ObjectList: TCustomObjectList<T>; ID: string); static; overload;
  end;
oder meinst du
Delphi-Quellcode:
  TDummy = record
    class procedure Test<T:class; T2>(ObjectList: TCustomObjectList<T>; ID: T2); static;
  end;

RWarnecke 2. Dez 2012 07:40

AW: Eine Generics TObjectList<T> als Parameter
 
Delphi-Quellcode:
  TDummy = record
    class procedure Test<T:class>(ObjectList: TCustomObjectList<T>; ID: Integer); static;
    class procedure Test<T:class>(ObjectList: TCustomObjectList<T>; ID: string); static;
  end;


  TDummy.Test<TZahlungsart>(ZahlungsartList, 1);
  TDummy.Test<TZahlungsart>(ZahlungsartList, '1');
Bekomme ich den Fehler
Zitat:

E2254 Overloaded procedure 'Test' must be marked with the 'overload' directive
Ersetze ich jetzt
Delphi-Quellcode:
static
durch
Delphi-Quellcode:
overload
, bekomme ich den Fehler
Zitat:

E2398 Class methods in record types must be static
Wenn ich diese Funktion mit ganz normalen Parametern verwende ohne den Record funktioniert ja das
Delphi-Quellcode:
overload
.

Wie mache ich das ganze richtig ?

JamesTKirk 2. Dez 2012 08:24

AW: Eine Generics TObjectList<T> als Parameter
 
Zitat:

Zitat von RWarnecke (Beitrag 1193961)
Ersetze ich jetzt
Delphi-Quellcode:
static
durch
Delphi-Quellcode:
overload
, bekomme ich den Fehler
Zitat:

E2398 Class methods in record types must be static

Du musst beide Modifier deklarieren:

Delphi-Quellcode:
static; overload;

oder

Delphi-Quellcode:
overload; static;

(ich weiß jetzt nicht wie rum es deklariert werden muss)

Gruß,
Sven

RWarnecke 2. Dez 2012 08:34

AW: Eine Generics TObjectList<T> als Parameter
 
Mit
Delphi-Quellcode:
overload; static;
funktioniert es. Danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:11 Uhr.
Seite 2 von 2     12   

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