title image


Smiley CDO mit VB .NET und Objekte zerstören
Hallo,



ich bin schon länger mit VB6 unterwegs, aber noch ziemlich grün in VB .NET.



Kürzlich hab ich mir nun unter VB .Net eine kleines Proggie geschrieben, mit dem ich via CDO-Objekt E-Mails versende. Das Proggie funzt im Prinzip auch, und ich wollte es dann in eine DLL einbauen, um aus einer anderen Anwendung heraus mailen zu lönnen. Das klappte aber irgendwie nicht so richtig, und dann hab ich beim Debuggen festgestellt, dass ich zwar sofort nach der Send-Methode eine positive Bestätigung krieg-, die E-Mail aber tatsächlich erst versendet wird, nachdem das aufrufende Programm beendet wurde. Wenn ich das aufrufende Programm nicht beende, dann wird nichts verschickt, was natürlich nicht in meinem Sinne ist.



Ich hab dann nachgeforscht und erfahren, dass .NET Objekte nicht sofort mit objObject = NOTHING zerstört, wie noch in VB6, sondern das dies erst eine unbestimmte Zeit danach erfolgt, und dass dies insbesondere bei COM-Komponenten wie CDO Probleme verursachen kann, und so denk ich jetzt, dass dies genau mein Problem ist, da ja mit Beendigung des aufrufenden Programms das CDO-Objekt garantiert zerstört ist und dann die Mail verschickt wird.



Ich hab dann weitergeforscht und auch verschiedene Quellen gefunden, die beschreiben, wie man dies explizit mit Dispose() und Finalize etc. bewerkstellige kann, aber leider bin ich dabei noch auf keinen grünen Zweig gekommen. Irgendwie begreif ich das nicht, oder ich steh auf der Leitung.



Wäre sehr nett, wenn Ihr mir hier auf die Sprünge helfen könntet. Am besten wär's mit einem lauffähigen Beispiel.



danke schon mal im Voraus.



Smitty

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: