Frank: Frage zu set object = nothing bei exit function/sub

Beitrag lesen

Hi liebe Genossen :-)

seit längerem beschäftigt mich folgende Frage, was passiert mit einem Objekt, z.b. ADODB.Recordset, wenn ich es innerhalb einer Prozedur oder Funktion nicht mit set object = nothing explizit "töte"? Beispiel:

function checkTriggers(triggerlist)
 'prüfen ob die Trigger, die gesetzt sein müssen auch wirklich gesetzt sind und ob die Trigger, die nicht gesetzt sein dürfen auch wirklich nicht gesetzt sind
 triggerArray = Split(triggerlist,",")
 For each trigg in triggerArray
  triggNum = CStr(Mid(trigg,2))
  xpath_trigger = "//config[@id='" & ccube & "']/hdata/triggerset/trigger[text()='" & triggNum & "']"
  set rs_xptrig = customerXML.documentElement.selectNodes(xpath_trigger)
  IF Left(trigg,1) = "+" THEN
   'dann soll der Trigger auch wirklich gesetzt sein
   IF not rs_xptrig.length > 0 THEN
    'der Trigger wurde nicht gefunden, Test nicht bestanden,
    checkTriggers = False
    exit function
   END IF
  ELSE
   IF rs_xptrig.length > 0 THEN
    'der Trigger wurde gefunden, sollte aber nicht also Test nicht bestanden
    checkTriggers = False
    exit function
   END IF
  END IF
  set rs_xptrig = nothing
 NEXT
 checkTriggers = True
end function

Hierbei wird ja zwangsweise die Funktion verlassen (deren Rückgabewert auf False gesetzt) wenn ein entsprechendes Ereignis (XMLNodes gefunden oder nicht) eintritt.

Macht es Sinn, vor exit function noch ein set rs_xptrig = nothing reinzusetzen oder killt sich dieses Objekt automatisch durch verlassen der Prozedur? Hat das weglassen evt. negative Auswirkung auf die Anwendungsperformance?

Leider konnte ich zu dem Thema keine aussagekräftige Ressource ausfindig machen, falls jemand einen Link weiß oder gar gleich eine Antwort geben könnte, würde ich mich sehr freuen. Vielen Dank schon mal im Voraus.

Grüße, Frank