Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Funktion in DLL mit 58 Parametern (https://www.delphipraxis.net/150776-funktion-dll-mit-58-parametern.html)

Die Muhkuh 26. Apr 2010 19:31


Funktion in DLL mit 58 Parametern
 
Hi,

ich bekomme für eine bestehende Software von einem externen Programmierer eine in Fortran geschriebene DLL. Diese DLL beinhaltet eine Funktion, deren Aufruf 58 Parameter benötigt. 23 sind für den Output, der Rest ist Input. Es handelt sich um Integer, Real und String[12] und String[30] Parameter.

Könnte es irgendwelche Probleme mit der doch großen Anzahl von Parametern geben?

Bitte keine keine Diskussion darüber, dass es so viele Parameter sind und man das anders gestalten müsse!

himitsu 26. Apr 2010 19:45

Re: Funktion in DLL mit 58 Parametern
 
Ich denke mal nicht, daß es da Probleme geben sollte.

Aber vielleicht wäre es dennoch nicht schlecht diesen Funktionsaufruf in einer Klasse zu kapseln und Dieser die vielen Parameter etwas übersichtlicher zu übergeben
und über diese die Funktion der DLL aufzurufen.

hoika 29. Apr 2010 16:38

Re: Funktion in DLL mit 58 Parametern
 
Hallo,

also das sind zu viele Parameter ... ;)

Nein, im Ernst

Zitat:

Integer, Real, String[12], String[30]
Die Frage, ob ein Fortran-Real auch ein Delphi-Real ist.
Bei String gibt es ähnliche Probleme,
String[12] z.B. ist ein 13-Byte-Array, dessen Länge im 1. (0.) Byte steht.


Heiko

Reinhard Kern 30. Apr 2010 08:35

Re: Funktion in DLL mit 58 Parametern
 
Zitat:

Zitat von Die Muhkuh
Bitte keine keine Diskussion darüber, dass es so viele Parameter sind und man das anders gestalten müsse!

Ds ist Gewohnheitssache: in Fortran gab es anfangs keine Records. Dem Compiler ist die Anzahl der Parameter egal, und der Programmierer muss halt sehr aufpassen. Es hat auch Vorteile: es verschiebt sich nicht der ganze Rest, wenn die Grösse eines Parameters nicht stimmt.

Gruss Reinhard


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 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