Autor Thema: Code ausführen, bevor Mail gesendet wird  (Gelesen 5114 mal)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Code ausführen, bevor Mail gesendet wird
« am: 25.06.04 - 15:19:47 »
Folgendes Problem:
In der Standard-Mail-Datenbank soll, bevor tatsächlich das Mail gesendet wird, eine Aktion ausgeführt werden. Das ist ja an sich kein Problem, solange das Mail gespeichert wird oder das Senden über die Buttons ausgelöst wird - hier kann man in der Class UIMemoDocument in der QuerySave-Function eingreifen. Wenn der User jedoch das Senden über Escape und "nur senden" veranlasst, finde ich partout keine Stelle, wo man noch eingreifen könnte.
Vielleicht habe ich ja auch nur ein Brett vor'm Kopf. Weiss jemand Rat ?

Danke im Voraus,
Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #1 am: 25.06.04 - 20:58:27 »
Mega-Workaround:
Wenn ein SendTo-Feld fehlt, dann kommt - soweit ich weiss - ein Fehler (bla bla ... field 'sendto' does not exist.....).
Na ja, man könnte also das Feld erstmal gar nicht anbieten in der Maske, sondern die Empfänger in ein anderes Feld schreiben lassen. Beim Senden fängt man dann den Fehler ab, und erzeugt dann erst das SendTo-Item - und führt dann noch den gewünschten Code aus.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #2 am: 25.06.04 - 21:22:12 »
Danke für Deine Mühen, Matthias, aber ... es geht, wie erwähnt, um das Standard-Mailfile. Ich habe mittlerweile so meine Befürchtungen, dass dem Standard-Dialog (Senden und speichern, Senden, Nur Speichern, verwerfen) nix mehr folgt, was man noch abfangen kann ...

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #3 am: 25.06.04 - 21:34:23 »
Hmm, ja, sieht wohl nicht sehr toll aus....

Eigentlich sehr schade, wenn man das mal braucht so wie Du jetzt.

Evtl. hilft noch, wenn Du nach "On Event" suchst im www, dass es da vielleicht was undokumentiertes gibt für Esc + 'Nur senden' .

Wo man auch noch nachsehen könnte:
In R7 soll ja eine Warnmeldung beim senden kommen, wenn z.B. das Subject nicht ausgefüllt ist. Weiß nicht ob das in der Beta auch schon drin ist. Wäre zumindest interessant, wie die das da gelöst haben (nach Murphy's Gesetz bestimmt aber dann nicht in R5 umsetzbar).
Weitere Anlaufstelle wäre vielleicht noch OpenNTF's Mailtemplate, vielleicht wurde dort auch was in dieser Art umgesetzt....

Matthias

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #4 am: 25.06.04 - 21:51:32 »
mach doch einfach den Haken bei "On Close Present mail send dialog" in den Maskeneigenschaften weg ;D
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #5 am: 25.06.04 - 23:31:54 »
mach doch einfach den Haken bei "On Close Present mail send dialog" in den Maskeneigenschaften weg ;D

Da wäre ich der erste, der dem Programmierer den Schädel einschlagen würde - zum Mail senden die Ratte verwenden müssen - puh ! Aber das wäre dann ja Selbstmord ...

@TMC:
Zitat
In R7 soll ja eine Warnmeldung beim senden kommen, wenn z.B. das Subject nicht ausgefüllt ist. Weiß nicht ob das in der Beta auch schon drin ist
Das hatten wir schon in R3 eingebaut. Im Subject einfach eine field validation - und fertig  ;)
On Event hatte ich auch schon als Idee, aber ich habe bewusst auf das Grasen im www nach soetwas verzichtet. Wenn es nicht offiziell dokumentiert ist, habe ich ggf. in der nächsten Version ein Problem.

Danke trotzdem ! Ich halte Euch auf jeden Fall auf dem laufenden !

Bernhard

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #6 am: 25.06.04 - 23:35:53 »
zum Mail senden die Ratte verwenden müssen

was bedeutet das denn? die Ratte?
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #7 am: 25.06.04 - 23:44:32 »
Mein Bruder ist Tierarzt (so richtig Dr. Fett-Mett). Auch wenn er (als Betreiber einer entsprechenden Tierklinik) nix anderes macht als Pferde aufzuschneiden und (meist) auch wieder zuzunähen, kennt er sich natürlich sehr gut in der Fauna aus. Ein Computer-Freak ist er ausserdem. Ergo wies er mich vor Jahren mal dezent darauf hin, dass es derart grosse "Mäuse" im Tierreich gar nicht gäbe - das sind dann eben Ratten. Wenn wir uns also zu einem zoologischen Vergleich zu diesem Eingabegerät hinreissen lassen, dann bitte korrekt. Sagt Dr. vet. med. Michael Köhler. Und ich habe keine Argumente dagegen  ;)

Bernhard

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #8 am: 25.06.04 - 23:49:04 »
verstehe.
ich glaube, ich kenne niemanden, der nicht die Maus nutzt, um eine Mail in Notes abzuschicken...
(das soll natürlcih nicht heißen, dass ich meinen Vorschlag gut finde)
« Letzte Änderung: 25.06.04 - 23:49:47 von Thomas Völk »
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #9 am: 25.06.04 - 23:54:11 »
ich glaube, ich kenne niemanden, der nicht die Maus nutzt, um eine Mail in Notes abzuschicken...

Na ja, ich bin schon einer von denen  :)
Strg+ M, schnell mal was geschrieben, Esc-Taste, per Cursortasten Auswählen ob ich da noch eine Kopie brauche, Enter, und los geht's  ;)
« Letzte Änderung: 25.06.04 - 23:55:09 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #10 am: 02.07.04 - 21:56:04 »
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.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Glombi

  • Gast
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #11 am: 02.07.04 - 22:11:25 »
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

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #12 am: 02.07.04 - 22:31:47 »
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.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

y20frank

  • Gast
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #13 am: 03.07.04 - 21:43:46 »
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>  

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #14 am: 03.07.04 - 21:50:50 »
Immerhin - die Esc-Taste ist wenigstens nicht versions- ode sprachabhängig, also so unsauber ist das dann doch nicht ....  ;D
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

y20frank

  • Gast
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #15 am: 03.07.04 - 22:01:53 »
hehehe, so betrachtet stimmt's auch wieder...  ;D

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #16 am: 04.07.04 - 00:17:34 »
Jo, solche Tricks kann man anwenden - aber nicht in diesem Zusammenhang, denn im QueryClose ist das Mail schon längst unterwegs ...

Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Code ausführen, bevor Mail gesendet wird
« Antwort #17 am: 04.07.04 - 01:00:46 »
Stimmt natürlich, man muss sowas auch noch an die richtige Stelle stellen, und das dürfte nicht ganz einfach sein.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Code ausführen, bevor Mail gesendet wird
« Antwort #18 am: 01.12.04 - 11:24:52 »
Hallo Leute,
ich steh gerade vor einem ähnlichen Problem.
Mein Code soll ausgeführt werden wenn ein User ein Mail versendet. Also nachdem er entweder auf "Senden und Speichern" oder auf "nur Senden" geclickt hat.

Gibts dafür mittlerweile eine Lösung? (Die Escapetaste möchte ich nicht rausbrechen)

lG
†090620141300

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Code ausführen, bevor Mail gesendet wird
« Antwort #19 am: 01.12.04 - 15:03:37 »
Diese Lösung gibt es erst ab ND6, da gibt es die Events QuerySend und PostSend. Im 5er sehe ich keine vergleichbare Möglichkeit (ok, über die API natürlich schon .....)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz