Domino 9 und frühere Versionen > ND9: Entwicklung

Name der aktuellen Scriptbibliothek auslesen

<< < (2/2)

eknori (retired):
Der Rückgabe wert ist in der Tat ein Pointer. Mit ein bisschen API Magic kommt man dann auch an den Namen der ScriptLib. Ist sicher nicht alltagstauglich. Ich verwende daher auch eine (private) Konstante in meinen Libs


--- Code: ---Option Public
Option Declare

Const APIModule = "NNOTES"
Declare Private Sub Peek Lib APIModule Alias "Cmovmem"(  ByVal P As Long, D As Any, ByVal N As Long)
Declare Private Sub PeekString Lib APIModule Alias "Cmovmem"(  ByVal P As Long, ByVal D As String, ByVal N As Long)

Sub Terminate

End Sub


Public Sub sayHello()
MsgBox getModuleName
End Sub

Function getModuleName ()As String
Dim t As long
Dim p As Long
Dim s As String
Dim a As String
Dim b As String
Dim z As Integer

t& = CLng("&H" & Mid$(GetThreadInfo(2), 2))
Peek t& + 166, p&, 4 ' 166 For 9.0.1

If Abs(t& - p&) > 1E6 Then Exit Function

s$ = Space(32)

PeekString p&, s$, 32
z% = InStr(s$, Chr$(0))
a$ = Left$(s$, z% - 1)
s$ = Mid$(s$, z% + 1)
z% = InStr(s$, Chr$(0))
b$ = Left$(s$, z% - 1)
If b$ = "" Then getModuleName = a$ Else getModuleName = b$ & " - " & a$
End Function
--- Ende Code ---

Thomas Heinecke:
Ich habe mir angewöhnt, die Einstellungen der Templates für Code und Comment im Domino Designer zu verwenden.
So kann ich bei neuen Funktionen immer mit einmal Cut und Paste den korrekten Namen des Design-Element im Code hinterlegen.

--------------------------------------------------------------------------------------------
Unter "Preferences\Domino Designer\ LotusScript Editor \Code Templates" hinterlege ich den Vorgabe-Code für Functions und Subs:
      

   Dim strFunctionName As String      

   On Error Goto ProcessError        

   strFunctionName = "<element> - <function>"    // ist nur eine Dummy Anweisung, die später ersetzt wird.
   ' = False
   
   

   ' = True
   Exit Function

ProcessError:
   Msgbox "Error (" & Cstr(Err) & " ) -> " & Error$(Err) & " in line " & Erl & Chr(13) & Error() , 16, strFunctionName
   Exit Function
--------------------------------------------------------------------------------------------   

Unter "Preferences\Domino Designer\ LotusScript Editor \Comment Templates" hinterlege ich das Vorgabe-Kommentar und
die Platzhalter für den Namen des aktuellen Design-Elements und der Funktion:   

--------------------------------------------------------------------------------------------
%REM
   ${element_type} ${element_name}
   Description: Comments for ${element_type}
   @param:  
   @return: ${element_returntype}  
   @date:   ${date}
   @autor:  ${user} (th softwaretechnik)
%END REM
' strFunctionName = "${designelement_type}: ${designelement_name} - ${element_name}"      // Hier wird der Name des Design-Elements gezogen. Funktioniert leider nur im Comment- und nicht im Code-Template.
--------------------------------------------------------------------------------------------

Die  auskommentierte Variablenzuweisung aus dem Kommentar kopiere ich dann einfach in den Funktions-Code.

Da wir alle unsere Funktionen immer sauber kommentieren, fällt es später auf, falls man
die Zuweisung des Funktionsnamens einmal vergessen zu kopieren und diese immer noch im Kommentar steht. ;-)

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln