Jag har en liten funktion som hämtar data från en forumlär och skriver det till ett XML-dokument. Problemet är att jag har en variabel, FinnsFil, som jag vill skall kunna gå att komma åt även utanför funktionen. Hur gör man det?
Function addNewContacttoXML(strXMLFilePath, strFileName)
'Declare local variables.
Dim objDom
Dim objRoot
Dim objRecord
Dim objIngr
Dim objField
Dim objFieldValue
Dim objattID
Dim objattTabOrder
Dim objPI
Dim objPI2
Dim FilFinns
Dim x
Set objDom = server.CreateObject("Microsoft.XMLDOM")
objDom.preserveWhiteSpace = True
FilFinns = objDom.Load(strXMLFilePath & "\" & strFileName)
If FilFinns = True Then
Response.Write("Det här drinkrecepet finns redan. ")
Else
Set objRoot = objDom.createElement("drink")
objDom.appendChild objRoot
Set objIngr = objDom.createElement("ingredienser")
objRoot.appendChild objIngr
For x = 1 To Request.Form.Count
If instr(1,Request.Form.Key(x),"knapp") = 0 Then
If len(Request.Form(x))>0 then
if left(Request.Form.Key(x),4) = "namn" then
Set objNam = objDom.createElement("ingrediens")
objIngr.appendChild objNam
Set objField = objDom.createElement(left(Request.Form.Key(x),4))
objField.Text = Request.Form(x)
objNam.appendChild objField
else
Set objField = objDom.createElement(left(Request.Form.Key(x),10))
objField.Text = Request.Form(x)
objRoot.appendChild objField
end if
End if
Set objField = objDom.createElement("bild")
objField.Text = Trim(Replace(Request.Form("drinknamn")," ","")) & ".jpg"
objRoot.appendChild objField
End If
Next
If FilFinns = False then
Set objPI2 = objDom.createProcessingInstruction("xml-stylesheet", "type='text/xsl' href='drink.xslt'")
objDom.insertBefore objPI2, objDom.childNodes(0)
Set objPI = objDom.createProcessingInstruction("xml", "version='1.0' encoding='ISO-8859-1'")
objDom.insertBefore objPI, objDom.childNodes(0)
End If
objDom.save strXMLFilePath & "\" & strFileName
End If
Set objDom = Nothing
Set objRoot = Nothing
Set objRecord = Nothing
Set objField = Nothing
Set objFieldValue = Nothing
Set objattID = Nothing
Set objattTabOrder = Nothing
Set objPI = Nothing
End Function
On Error Resume Next
addNewContacttoXML Server.MapPath("/xml/drinkar"),Trim(Replace(Request.Form("drinknamn")," ","")) & ".xml"
If err.number <> 0 then
Response.write("Det blev något fel när ditt drinkrecept skulle sparas.<br>")
Else
If FilFinns = False then
Response.write("Ditt drinkrecept är sparat.<br>")
End If
End If
Det är alltså längst ned där, i "error"-hanteringen som jag vill att FilFinns skall gå att anropa. Men det vill inte riktigt fungera... :(