Also machts eigentlich Sinn immer den Typ Variant zu verwenden.
Hallo Axel,
Variant aber nur in diesem Kontext - ansonsten kann das sträflich sein. Hier macht aber Variant wirklich Sinn - der DataType existiert ja nicht umsonst.
Was folgendes angeht:
Da ich mich in meinen Anwendungen immer definitiv auf ein RTF-Feld bezogen habe, hat's bei mir auch nie Probleme gegeben.
Da kann man ja nur sicher sein, wenn man das RTI gerade erst selber angelegt hat (vorher muss man natürlich prüfen, obn man überhaupt etwas anlegen kann). Sonst kann man ja damit konfrontiert werden, dass sich - aus den verschiedensten Ursachen - ein Item einfach vom Acker macht: Dokument auf anderem (unsauberen / unerwartetem) Wege erzeugt, Dokument im Eimer etc. pp.
Mein prägendes Ereignis war wohl , als wir vor etlichen Jahren zu unserem Lieblingsplätzchen am Sallingsund in den wohlverdienten Sommerurlaub fahren wollten. Am Vorabend musste unbedingt noch eine eigentlich für den folgenden Monat geplante Applikation in Betrieb genommen werden (trotz meines Protests). Murphies Law verlangte, dass das schief geht: Eines von ca. 100.000 Dokumenten sah nicht so aus wie erwartet (ein Item war nicht existent - in genau einem Dokument. Warum auch immer - ich weiss es nicht mehr). Es war eine kurze Nacht nach der Lösung des Problems, und am nächsten Tag dann 1.300 Kilometer zu fahren. Meine Frau hat sich dann zu recht beklagt, dass sie viel mehr als die vereinbarten Strecken am Steuer sitzen musste. Die zusätzlich eingebauten Prüfungen haben uns dann aber einen absolut ruhigen Urlaub beschert.
Ich mag etwas übersehen, aber mein Rekord liegt (bei einem wirklich kritischem Agent) wohl derzeit bei knapp 500 Programmzeilen an Prüfungen, bis die eigentlichen Aktionen dann starten (die ebenso peinlich überwacht werden). Der innere Vorbeimarsch für mich war: Dieser Agent löste eine Lösung eines anderen Unternehmens ab, deren Programm bei weniger Aktionen auf eine sechsstellige Anzahl von Dokumenten immer mindestens vier Stunden benötigte. Mein Programm war damit aber beim Erstlauf in knapp fünf Minuten fertig, und jeder weitere Lauf benötigt nur noch Sekunden. Die (extrem wichtigen) Prüfungen (error handling würde ich das noch nicht mal nennen, sondern "possible errros management") fallen da gar nicht ins Gewicht.
So, von der Antwort an Axel habe ich mich jetzt meilenweit entfernt (sorry) - es war "nur" ein Plädoyer für möglichst sicheren Code.
Bernhard