Domino 9 und frühere Versionen > Entwicklung

Code ausführen, bevor Mail gesendet wird

<< < (3/5) > >>

Semeaphoros:
Jo, ich gehöre auch zu den Ctrl-M und dann Esc-Nutzern :) wir sind also schon deren 2, die die Ratte Ratte sein lassen ..... Ah, Ratte gehört doch eigentlich ins Glossar ....... ;-)

Und, bin erstaunt, dass hier noch niemand QuerySend und PostSend vom NotesUIDocument erwähnt hat, die gibts ab N6, also tatsächlich nicht in 5, aber ich nehme mal an, dass die Mailkontrolle in N7 über die QuerySend gelöst ist.

Glombi:
Die beiden von Jens genannten neuen Events sollten hier Ihren Zweck erfüllen. Wenn mal wieder etwas Zeit ist (nach der EM, nach der Tour, nach der Olympiade) können wir das ja mal näher untersuchen.

Einmal wollte ich es einsetzen, es schien aber nicht im Zusammenhang mit
call doc.Send... bzw. @MailSend zu funktionieren.
Genauer habe ich das aber noch nicht untersucht.

Insgesamt wären diese ganzen Events mal ein Fall für die BP.

Was macht Ihr eigentlich in R6? Verwendet Ihr jetzt immer OnLoad bzw. OnSubmit anstelle der "alten" Events?

Andreas

Semeaphoros:
Nö, ich hab in ND6 noch nicht konsequent auf die neuen Events umgestellt.

Sämtliche Backend-Methoden lösen per Definition keine Events aus. Events sind eine UI-Angelegenheit, deswegen ist das QuerySend-Event auch im NotesUIdocument definiert, ergo ist es ganz logisch, dass doc.send dieses Event nicht triggern kann, da müsste man dann schon mit einem eigenen Objekt-Modell nachhelfen, um so etwas auch noch mit abzudecken. Ich nehme mal an, dass @Mailsend aus ähnlichem Grund keine Events triggerd, weiss es aber nicht wirklich.

y20frank:
na ja, zur not (!!) könnte man ja das drücken der esc-taste einfach verhindern... ;D per api in die mail-schablone (maske) einbauen... ok ist etwas unsauber... :P

<Code>
'- Die folgenden Deklarationen werden zum verhindern der Esc- Taste benötigt
Const VK_ESC = 27

Type KeyboardBytes
kbByte(0 To 255) As Long
End Type

Declare Function GetKeyState Lib "user32" (Byval nVirtKey As Long) As Long
Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim kbArray As KeyboardBytes, kbOld As KeyboardBytes
'- Ende Esc- verhinderung

Sub Queryclose(Source As Notesuidocument, Continue As Variant)
'- der Code hier verhindert das schliessen des Fensters durch Esc unter bestimmten umständen
If GetKeyState(VK_ESC) Then
'Get the keyboard state
GetKeyboardState kbArray
'Change a key
kbArray.kbByte(VK_ESC) = 1
'Set the keyboard state
SetKeyboardState kbArray
SetKeyboardState kbOld
continue = False
End If
End Sub

' --.- Zwangsweise diesen Button klicken um zu schließen!
Sub Initialize
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
'- Esc- Taste zurücksetzen
SetKeyboardState kbOld
'- und Dokument schliessen
Call uidoc.Close
End Sub

</Code>  

Semeaphoros:
Immerhin - die Esc-Taste ist wenigstens nicht versions- ode sprachabhängig, also so unsauber ist das dann doch nicht ....  ;D

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln