hi,
brandelh hat geschrieben:
mir stellt sich die Frage, wo du dich entschließt, den Versand zu blockieren, aber ich denke mal, dass wenn
die Fehlermeldung "unbekannte Funktion" meldet, dann hat das Objekt diese (oMail) Funktion nicht.
Da diese im oMail Objekt normalerweise enthalten ist, schließe ich daraus, dass bei einem Abbruch kein
richtiges Mail-Objekt vorliegt.
Ist oMail in diesen Fällen etwa NIL oder empty() ?
In den Xbase++ Klassen gibt es die Funktion IsMethod(), kann man hier eventuell abfragen ob oMail:IsMethod("Display") existiert ?
Wenn die Meldung von Xbase++ kommt, könnte man eventuell mit BEGIN SEQUENCE / END SEQUENCE etwas erreichen ?
Yup das würde ich auch sagen.
allerdings fällt mir am Code auf das die Property und Methoden des activeX "inline" verwendet
werden was ich für problematisch halte.
Ich würde sogar noch ein Schritt weiter gehen eine eigene Class mit der Methode :Display
schreiben so wie es uns Alaska mit C:\Alaska\XPPW32\source\SYS\axctrls.prg vormacht.
Damit bekommt man dann auch die Events in Griff und kann damit sicherlich die letzte User
Eingabe abfangen und auswerten.
Leider wird diese "Taktik" fast ein MUSS da sich IMHO seit der v345 das "timeing" und Error
Verhalten von activeX "verändert" hat. Besonders wenn das activeX selbst ständig Events
"fired" oder die Grafik Karten mit der "Ausgabe" nicht hinterher kommt ... wenn man da nicht
sowas wie ein NET_USE() hat und "timeout" berücksichtigt ...
das Resultat ist dann die ErrorMsg das die Methode nicht bekannt sei ... aber 1sec. später ...
leider ist das kaum zu debuggen und triit dann nicht auf unter VX20.EXE, aber zumindest rettet
mich VX vor einem reset wenn der OLE-Server mal wieder hängt und alles lahm legt.
Nachtrag : irgendwie erinnert mich das a SOCmapi.DLL ... deshalb hab ich da eine extra Thread laufen ...