AGB  ·  Datenschutz  ·  Impressum  







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

Default Value bei eigenen Typ

Ein Thema von amoibos · begonnen am 8. Okt 2015 · letzter Beitrag vom 26. Okt 2015
Antwort Antwort
Seite 1 von 2  1 2      
amoibos

Registriert seit: 1. Sep 2015
33 Beiträge
 
Delphi 5 Professional
 
#1

Default Value bei eigenen Typ

  Alt 8. Okt 2015, 08:47
Delphi-Version: 5
Hallo,
ich habe hier ein selbstdefinierten Datentyp(dynamischer Array) als Argument einer Methode. Kann man dafür auch ein Default-Wert angeben oder muss man die Methode dann doppelt definieren?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Default Value bei eigenen Typ

  Alt 8. Okt 2015, 08:54
Wenn Du für den Defaultwert eine Konstante deklarierst sollte es gehen.
Markus Kinzler
  Mit Zitat antworten Zitat
amoibos

Registriert seit: 1. Sep 2015
33 Beiträge
 
Delphi 5 Professional
 
#3

AW: Default Value bei eigenen Typ

  Alt 8. Okt 2015, 09:05
Das gilt doch nur für eine Auswahl von Standardtypen zmd. funktioniert [''] schon mal nicht.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Default Value bei eigenen Typ

  Alt 8. Okt 2015, 09:47
Ich verstehe das Problem nicht. Dynamisches Array? Warum nicht einfach nil ?

Delphi-Quellcode:
type TMeinArray = array of Integer;

procedure meineMethode(arg: TMeinArray = nil);
begin
   //
end;
  Mit Zitat antworten Zitat
amoibos

Registriert seit: 1. Sep 2015
33 Beiträge
 
Delphi 5 Professional
 
#5

AW: Default Value bei eigenen Typ

  Alt 8. Okt 2015, 11:12
Hat sich erledigt, bin von den selbsterstellten Typ zum offenen Array übergegangen.
Damit funktioniert nil natürlich nicht, mit der alten Lösung aber schon. Ist aber trotzdem hilfreich, danke.
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
488 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Default Value bei eigenen Typ

  Alt 22. Okt 2015, 06:52
Mengentypen können unter Delphi keinen Standardwert besitzen, wenn sie als Parameter einer Methode übergeben werden.
Dennis
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Default Value bei eigenen Typ

  Alt 22. Okt 2015, 09:29
Na klar können sie das:

Delphi-Quellcode:
{$APPTYPE CONSOLE}

type
   TItem = (uno, dos, tres);
   TItems = set of TItem;

procedure processItems(const items: TItems = []);
begin
   //
end;

begin
   processItems();
end.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Default Value bei eigenen Typ

  Alt 22. Okt 2015, 13:04
Solange das SET in einen INTEGER passt. (maximal 32 Werte)
$2B or not $2B
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
488 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Default Value bei eigenen Typ

  Alt 24. Okt 2015, 04:30
Ja, okay, ich korrigiere mich:
Mengentypen außer "Small Set" können keinen Standardwert als Parameter einer Methode haben. Dies gilt aber auch für arrays.
Dennis
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Default Value bei eigenen Typ

  Alt 25. Okt 2015, 09:43
Wobei ich das bei Arrays nicht ganz verstehe, denn der Pointer zu einem konstanten dynamischen Array passt in den Integer rein, genauso wie bei LongStrings.
Was es bei Arrays in Delphi aber komischer Weise nicht gibt, weil man da wohl was mit der Refferenzzählung vergessen hat, die eh "defekt" ist (kein Copy-On-Write, bei Schreibzugriffen).
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:25 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