Domino 9 und frühere Versionen > ND9: Entwicklung

Funktionen kompakt programmieren?

(1/3) > >>

Bruce Willis:
Hallo,

ich habe eine lange FunktionA, die etwa in der Mitte eine Ansicht1 verwendet und danach noch eine zusätzliche Funktion1 aufruft:
call Funktion1(x,y,z)

Dann habe ich eine andere lange FunktionB, die mit der Funktion1 fast identisch ist und sich von der Funktion1 nur durch die Ansicht2 und Funktion2 unterscheidet:
call Funktion2(x,y,z)

Die Parameter x,y,z sind identisch.

Könnte man irgendwie eine gemeinsame Funktion3 erstellen und sie dann etwa so aufrufen?

call Funktion3(Ansicht1,Funktion1,x,y,z)
bzw.
call Funktion3(Ansicht2,Funktion2,x,y,z)

Out of the box geht es nicht, aber vielleicht irgendwie mit Tricks?...

Gruß
Leo

eknori (retired):
Wie wäre es mit Klassen und OOP?

jBubbleBoy:
Warum geht das nicht?
Ich kann keinen Widerspruch erkennen ???

Tode:
Du kannst den zu callenden Funktionsnamen nicht wirklich dynamisch übergeben, aber Du könntest sowas machen: Call Funktion3(Ansichtx,Funktionsname,x,y,z) und in der Funktion3: if Funktionsname = "Funktion1" then Call Funktion1(x,y,z) else call Funktion2(x,y,z)

Aber grundsätzlich bin ich Ulrichs Meinung: ich würde auch mit Klassen und Vererbung arbeiten... Aber ich fürchte, das würde den Rahmen sprengen, das hier zu erklären....

Peter Klett:
Bei Übergabe des Funktionsnamens könnte man den innerhalb der Function mittels Execute aufrufen, da musst Du aber etwas probieren, da die verwendeten Variablen global deklariert sein müssen. Hier mal ein Gerüst


--- Code: ---Dim script As String
executefehler = ""
script = |Sub Initialize
   On Error GoTo Fehler
   ergebnis = | & funktionsname & | (x, y, z)
   Exit Sub
Fehler:
   executefehler = Erl & "-" & Err & " " & Error
   Exit Sub
End Sub|

On Error GoTo Fehler 'für Syntaxfehler des Scriptes
Execute (script)
If executefehler <> "" Then
   'Ein Fehler ist im Execute aufgetreten
Else

End If

Fehler:
   'Fehlerhandling
   ...

--- Ende Code ---

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln