ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
597
597
EMPFEHLEN
-
27.06.08 13:14 #1
- Registriert seit
- Jun 2005
- Ort
- Schweiz
- Beiträge
- 65
hallo zusammen
ich möchte gerne einen Prozedurtyp deklarieren, der jede Art von Parameter annimmt.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
type TCustomProc: Procedure("n-tupel an parameter"); var myProc: TCustomProc; procedure DoSomething(x,y,z: Integer); begin // mach was... end; procedure Main(); begin myProc := DoSomething; end;
gibt es einen Dateityp, der auf eine Art offen ist, eine Art Gruppe? Könnte man das mit Varianten lösen?
ich habe schon an "array of variant" gedacht, aber dann muss ich das ganze jedes mal decodieren und die Parameterübergabe wäre auch recht umständlich.
grz SadiGeändert von Sadi al Wadidrah (27.06.08 um 13:17 Uhr)
Lächle, morgen wird alles noch schlimmer ...
-
27.06.08 14:14 #2
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Hi,
evtl. sowas wie TList oder ein Array vom Typ TObject. Aber dabei wirst du um das casten der Objekte wohl nicht herum kommen.
Kommen denn prinzipiell alle Datentypen in Frage oder nur bestimmte? Evtl. bringt dir eine polymorphe Vererbung von Interfaces auch was?
Grüße, D."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
27.06.08 14:36 #3
- Registriert seit
- Jun 2005
- Ort
- Schweiz
- Beiträge
- 65
ich könnte mir auch vorstellen, dass nur ein einziger Dateityp benötigt wird, zB. String.
mein Hauptproblem ist die Anzahl der Parameter. Könnte man ev. den Typ procedure schon als potenziell überladen festlegen oder explizit jede Definition einer Prozedur? ändert "overload" etwas am Dateityp, oder wird im Compiler bloss eine entscheidende Überfunktion geschaffen? so quasi: if 2 parameter, nehme fkt1, if 3 parameter, nehme fkt2.
Oder gibt es Gruppenbezeichner um Variablen für den Compiler zusammenzufassen?
kannst du mir das mit der polymorphen Vererbung von Interfaces genauer erklären?Geändert von Sadi al Wadidrah (27.06.08 um 14:41 Uhr)
Lächle, morgen wird alles noch schlimmer ...
-
27.06.08 14:42 #4
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Hi,
wenn es dir nur um die Anzahl geht, würde ich dir zu einem TList-Objekt raten (evtl. auch TStringList, wenns nur Strings sein sollen).
Mit den Interfaces dachte ich, dass du dir ein Interface erstellst, in dem du deine Datentypen als Feld kapselst. Und ja nachdem, welche Implementation du benutzt, kannst du ein Objekt vom Typ des Interfaces in ein Array legen. Sieh dir dazu am besten mal die Polymorphie als Bestandteil der objektorientierten Programmierung an.
Grüße, D."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
27.06.08 14:51 #5
- Registriert seit
- Jun 2005
- Ort
- Schweiz
- Beiträge
- 65
das würde theoretisch gehen, nur müsste ich dann jedes Mal vor dem Aufruf einer gespeicherten Prozedur die Parameter auf die Übergabe "vorbereiten".
Funktionstyp ohne Parameter definieren und nachher überladen? hm...
edit: nein, ein Funktionstyp lässt sich nicht als potenziell überladen definieren. Entweder ist er es, oder nicht.Geändert von Sadi al Wadidrah (27.06.08 um 15:52 Uhr) Grund: experience
Lächle, morgen wird alles noch schlimmer ...
-
27.06.08 20:35 #6
- Registriert seit
- Jun 2005
- Ort
- Schweiz
- Beiträge
- 65
So, gelöst: ich habe mich auf eine Skriptsprache berufen, die ich mal in Eiffel programmiert habe.
ich kapsle die Funktion in einem neuen Typ.
Code :1 2 3 4 5 6 7
type TCommand = class name: String; command: procedure of object; parameters: TList; procedure execute(some_parameters: TList); end;
dann wird diese blöde Liste halt wieder analysiert! :-[Lächle, morgen wird alles noch schlimmer ...
Ähnliche Themen
-
Offener Objektivtest
Von shenmuefreak im Forum Fotografie & DigitalfotografieAntworten: 3Letzter Beitrag: 23.12.10, 13:05 -
[MySQL] 2 Tupel als einen darstellen
Von Steusi im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 03.11.10, 10:41 -
Abhängigkeiten zwischen verschiedenen Tupel
Von MAdwinnix im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 11.07.09, 08:13 -
Link soll sich bei offener Seite ändern
Von Sascha_77 im Forum HTML & XHTMLAntworten: 10Letzter Beitrag: 15.04.06, 12:08





Zitieren
Login





