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.0
Private 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

