![]() |
Wieviele Parameter passen in eine Procedure ???
Huhu meine edlen Helfer :hi:
Ich bin dabei ein Mp3Sortier Programm zu schreiben. Klappt soweit super, aber nu stehe ich vor einem für mich unlösbarem Problem. Ich habe eine procedure mit 16 Parametern, was euch wahrscheinlich die Haare ausreissen lässt :-D Nun geht das aber nicht. Mit 15 Parametern ging das aber noch, und ein Programmierfehler schliesse ich aus. Nun meine Frage: Gibt es eine Maximalanzahl von Parametern ??? (Ich hoffe ihr versteht meine Frage :wiejetzt: ) |
Re: Wieviele Parameter passen in eine Procedure ???
Hallo TiGGaH.
Zitat:
Ich bin echt sprachlos ... bye Claus [EDIT]Eine Lösung gibt es doch, alles in einen Record und ab. Das ist nur ein Parameter.[/EDIT] |
Re: Wieviele Parameter passen in eine Procedure ???
:-D das geht eigentlich ganz einfach. Zuerst waren das net so viele, aber nach un nach wurden das immer mehr und nu sind es 16 ...
wie geht das mit dem record??? |
Re: Wieviele Parameter passen in eine Procedure ???
Zitat:
Delphi-Quellcode:
bye
TMyeRec = record
Variable1: Boolean; Variable2: string; Variabl3: string; end; ... procedure myProcedure(Parameter: TMyRec); Claus |
Re: Wieviele Parameter passen in eine Procedure ???
Vielen Dank soweit, werde ich gleich mal probieren, aber geht das auch, wenn sich die Werte der Variablen in der procedure ändern und ich die in ner anderen procedure auch verwenden möchte?
(ich bin der Meister des unverständlichen Ausdrückens ...) |
Re: Wieviele Parameter passen in eine Procedure ???
aber sicher ....
einen Versuch, es einfach auszuprobieren, wäre es wert ... bye Claus |
Re: Wieviele Parameter passen in eine Procedure ???
Nu muss ich noch was fragen :-D
Was bedeutet der Error: Types of actual and formal var parameters must be identical ??? Das mit dem RECORD klappt super :) (Doch ich glaube mein Problem lag doch nicht an der Anzahl der Parameter) |
Re: Wieviele Parameter passen in eine Procedure ???
Den Fehler bekomme ich, wenn ich einen string[50] als var-parameter an eine prozedur übergebe bei der die variable als string definiert ist.
Die Typen müssen also genau übereinstimmen! |
Re: Wieviele Parameter passen in eine Procedure ???
Bei mir sah das etwa so aus:
Delphi-Quellcode:
und dann hatte ich da sowas in meinem Quelltext
procedure lala(var test1:string);
Delphi-Quellcode:
nur halt n "paar" Parameter mehr :)
lala(Label1.Caption);
|
Re: Wieviele Parameter passen in eine Procedure ???
Zitat:
@TiGGaH: TLabel.Caption ist keine String-Variable sondern eine Property vom Typ TCaption. Mußt wohl den Umweg über eine String-Variable gehen müssen oder ein TLabel übergeben. |
Re: Wieviele Parameter passen in eine Procedure ???
Zitat:
|
Re: Wieviele Parameter passen in eine Procedure ???
beim lesen/schreiben der property werden aber funktionen aufgerufen -> TProperty <> String
|
Re: Wieviele Parameter passen in eine Procedure ???
Zitat:
Das mag ja alles sein, aber wenn du eine Variable als var übergibst muß dafür eine Variable verwendet werden. Ein Property ist jedoch nur ein Wrapper - man definiert Funktionen zum setzen und lesen von Properties. Für ein var Parameter brauchst du aber eine echte Variable, denn der Kompiler übergibt eigentlich eine Referenz darauf an die Funktion in der dieser dann gleich wieder dereferenziert wird. Bei einer Property stehen dahinter aber wie gesagt eine Funktion zum lesen und eine zum schreiben -> das kann schon im Ansatz nicht funktionieren. |
Re: Wieviele Parameter passen in eine Procedure ???
Wenn man die Variable ohne var übergibt geht das aber.
|
Re: Wieviele Parameter passen in eine Procedure ???
Zitat:
|
Re: Wieviele Parameter passen in eine Procedure ???
Um die ursprüngliche Frage zu beantworten. Wo das Maximum an Parameter liegt, das weiß ich auch nicht, allerdings habe ich gerade mal eine mit 400 Parametern gebastelt und Delphi nimmt diese an :shock:
Wie auch immer. Im allgemeinen sollte eine Parameterliste wohl 5-6 Parameter nicht überschreiten, sonst wird es einfach zu unübersichtlich. Ausserdem zeugt das imho von einem unüberdachten Design ;) ...:cat:... |
Re: Wieviele Parameter passen in eine Procedure ???
jo, aber das ganze umzuschreiben is noch dramatischer :D
Ich kann dir ja mal bei Gelegenheit den Source zeigen :cyclops: Der hats in sich (vor ProgrammierUNstandarts) |
Re: Wieviele Parameter passen in eine Procedure ???
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz