Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/04/2005, 15:48
Avatar de jeancarle
jeancarle
 
Fecha de Ingreso: junio-2004
Mensajes: 37
Antigüedad: 20 años, 5 meses
Puntos: 0
Ya lo solucione

Gracias de todos modos, ya encontre la solucion. Para todos los que tienen este problema, se soluciona cambiando el usuario de acceso anónimo IUSR_COMPUTERNAME del directorio virtual de la aplicación por otro que tenga permisos de administración, puede ser el usuario de inicio de sesión de windows.

Por cuestiones de seguridad, no muestra las impresoras cuando el usuario es el de acceso anónimo.

Y tengo otra duda, como puedo regresar un arreglo desde un método de la clase al cliente ASP sin que me marque "NO COINCIDEN LOS TIPOS"

En el ejemplo anterior, quisiera pasar el listado de impresoras disponibles en un arreglo hacia ASP. Entonces el codigo del componente seria así:
Código:
Private pd As PrintDocument
Public Function GetPrinters() As String()
        Dim arr() As String
        Dim i As Int16

        Redim arr(0)
        For i = 0 To pd.PrinterSettings.InstalledPrinters.Count - 1
            Redim Preserve arr(i)
            arr(i) = pd.PrinterSettings.InstalledPrinters(i).ToString
        Next

        Return arr

End Function
Y el código de la llamada al componente se vería asi:
Código:
<%
dim arr()
dim prn
dim i 

set prn = server.CreateObject("PrintDLL.clsPrintDoc")
arr = prn.getPrinters()
response.Write("<h1>Lista de Impresoras en el Servidor</h1>")
for i =0 to ubound(arr)
    response.write (cstr(arr(i)))
next

prn.Dispose()

set prn = nothing
%>
El codigo anterior me marca el error de "NO COINCIDEN LOS TIPOS" en la linea que está en negritas.

Alguien sabe como puedo pasar el arreglo, o en donde estoy mal?
Gracias a todos
__________________
Todo es mas sencillo de lo que parece... :-)