Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: pimpfling am 26.03.03 - 19:30:31

Titel: R5: Gibt es in LS einen Befehl um das Design zu aktualisieren?
Beitrag von: pimpfling am 26.03.03 - 19:30:31
Hallo

Wie die Frage ober schon vermuten läßt, möchte ich per LS einen Design Refresh machen.
gehr das?
Ich habe hier nämlich einen Agenten der vor und nach dem Design Refresh noch einige mit den Mailfiles anstellen soll...

Gruß Stefan
Titel: Re:R5: Gibt es in LS einen Befehl um das Design zu aktualisieren?
Beitrag von: eknori am 26.03.03 - 19:43:02
Nein, gibt es nur als Formel; dann aber interaktiv, da dort nur ein Dialog angezeigt wird.

Mit der Notes API ist das möglich; aber so mal eben aus dem Kopf kann ich das auch nicht.
Ich schau morgen mal. Irgendwo in den Tiefen meines "Hirns ??" hab ich da noch was  ;D

eknori
Titel: Re:R5: Gibt es in LS einen Befehl um das Design zu aktualisieren?
Beitrag von: pimpfling am 27.03.03 - 06:44:33
OK - Vielen Dank

Gruß Stefan *dervollerhoffnungist*  ;)
Titel: Re:R5: Gibt es in LS einen Befehl um das Design zu aktualisieren?
Beitrag von: eknori am 27.03.03 - 07:03:28
OK; habs gefunden. Ist zwar ein "ReplaceDesign", aber das ist ja wurscht, wenn man das gleiche Template übergibt

Option Public
Option Declare

' Notes functions
Declare Function NSFDbOpen Lib "nnotes.dll" Alias "NSFDbOpen" ( Byval filename As String, hdb As Long ) As Integer
Declare Function NSFDbClose Lib "nnotes.dll" Alias "NSFDbClose" ( Byval hdb As Long ) As Integer
Declare Function DesignReplace Lib "nnotes.dll" Alias "DesignReplace" ( Byval ht As Long, Byval hdb As Long, Byval dw1 As Long, Byval dw2 As Long, Byval dw3 As Long, Byval dw4 As Long ) As Integer

Sub ReplaceDesign( tpl As NotesDatabase, db As NotesDatabase )
Dim source As String
Dim target As String
Dim status As Integer
Dim ht As Long
Dim hdb As Long

' open source (template) database
If tpl.Server="" Then
source=tpl.FilePath
Else
source=tpl.Server & "!!" & tpl.FilePath
End If
status=NSFDbOpen( source, ht )
If status<>0 Then Error 1, "Failed to open " & source & " (error code=" & status & ")"

' open target database
If db.Server="" Then
target=db.FilePath
Else
target=db.Server & "!!" & db.FilePath
End If
status=NSFDbOpen( target, hdb )
If status<>0 Then
NSFDbClose ht
Error 1, "Failed to open " & target & " (error code=" & status & ")"
End If

' perform the design replacement
status=DesignReplace( ht, hdb, 0, 1, 0, 0 )

NSFDbClose ht
NSFDbClose hdb

If status<>0 Then Error 1, "Error during replace design (error code=" & status & ")"

End Sub

eknori
Titel: Re:R5: Gibt es in LS einen Befehl um das Design zu aktualisieren?
Beitrag von: pimpfling am 07.04.03 - 18:48:04
Hallo und Danke nochmal für den Quellcode.
Hat prima geklappt...:o)