Les cuento como está mi proyecto.
Hice un proyecto en VS .NET de tipo DLL llamado "PrintDLL" con interacción con COM pues deseo llamar al componente dll desde ASP 3.0 y llenar un combo box con la lista de las impresoras.
En el coodigo del componente hice una clase llamada clsPrinDoc, dentro del proyecto con el siguiente método:
Código:
Aqui está la llamada al componente desde ASP 3.0Private pd As PrintDocument Private ps As PageSettings Public Function GetPrinters() As String Dim lista As String Dim i As Int16 For i = 0 To pd.PrinterSettings.InstalledPrinters.Count - 1 lista = lista & pd.PrinterSettings.InstalledPrinters.Item(i).ToString & "," Next Return lista End Function
Código:
Lo que intento es recuperar una lista de las impresoras instaladas (separada por comas pues no puedo regresar un arreglo no se porque) y solo me regresa la primera impresora y en el servidor se encuentran varias instaladas.<% dim lista dim prn set prn = server.CreateObject("PrintDLL.clsPrintDoc") lista = prn.getPrinters() response.Write("<h1>Lista de Impresoras en el Servidor</h1>") response.Write("<input type='text' value='"& lista & "'>") prn.Dispose() %>
También pensé que la que me regresaba era la impresora predeterminada pero ya lo revisé no es así.
Que puede ser, o donde puedo estar mal. Hice una prueba con un proyecto .NET tipo Aplicación para windows en VB.NET y hago la llamada al componente y si me regresa la lista completa.
Gracias por su ayuda