Test for mailkomponenter skal skrives til en valgmenu - virker ikke tilfredsstillende (On Error Resume Next)
Problemet er egentlig ikke så stort, men det kan måske være lidt svært at løse. Det handler om en noget kryptisk kode for at det virkerHvis jeg skriver:
<%
On Error Resume Next
If NOT IsObjInstalled(theComponent(i)) then
else
Response.Write "<option value=""" & i+1 & """>" & theComponentName(i) & "</option>"& vbCrlf
End if
%>
Virker det fint, men jeg har så prøvet at skrive:
<%
If IsObjInstalled(theComponent(i)) then
Response.Write "<option value=""" & i+1 & """>" & theComponentName(i) & "</option>"& vbCrlf
End if
%>
Så virker det ikke. Så skriver den koden for alle komponenter uanset om den får værdien True eller ej.
Det er mystisk. Jeg har forsøgt at finde en evt. fejl på siden, men det er der ikke. Jeg har også prøvet at skrive funktionen på en lidt anden måde, men det hjælper heller ikke:(
Skal jeg være nødsaget til at bruge første eksempel for at det virker efter hensigten eller kan nogle hjælpe mig med at lave det mindre kryptisk.
<%
Dim i
Dim count
Dim xTestObj
Dim theComponent(5)
Dim theComponentName(5)
' the components
theComponent(0) = "Persits.MailSender"
theComponent(1) = "SMTPsvg.Mailer"
theComponent(2) = "aspSmartMail.SmartMail"
theComponent(3) = "CDONTS.NewMail"
theComponent(4) = "Dundas.Mailer"
theComponent(5) = "JMail.SMTPMail"
' the name of the components
theComponentName(0) = "ASPEMail"
theComponentName(1) = "ASPMail"
theComponentName(2) = "AspSmartMail"
theComponentName(3) = "CDONTS"
theComponentName(4) = "DundasMail"
theComponentName(5) = "JMail"
Function IsObjInstalled(strClassString)
' initialize default values
IsObjInstalled = False
Err = 0
' testing code
Set xTestObj = Server.CreateObject(strClassString)
if 0 = Err Then IsObjInstalled = True
' cleanup
Set xTestObj = Nothing
Err = 0
End Function
%>
M.v.h.
Søren Peter
