Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-07-2004
Novás Novás is offline
Miembro
 
Registrado: oct 2003
Ubicación: Galicia
Posts: 146
Poder: 21
Novás Va por buen camino
Enumerando recursos de red

He intentado implementar este código pertenecienta a Trucomania

Código Delphi [-]
procedure TFrmPrincipal.ActRecursosRedExecute(Sender: TObject);
 procedure Enumera(Cual:PnetResource);
 var
   Mango           :THandle;
   NumeroEntradas  Word;
   Buffer          :Array [1..100] of TNetResource;
   LongBuffer      Word;
   n               :Integer;
   ListItem        :TListItem;
 begin
   Application.ProcessMessages;
   LongBuffer:=SizeOf(Buffer);

   If WNetOpenEnum( RESOURCE_GLOBALNET,
                    RESOURCETYPE_ANY,
                    0,
                    Cual,
                    Mango
                    )<> No_ERROR then
     ShowMessage('Error');

 { 100 entradas (máximo) por cada servidor}
   NumeroEntradas:=100;
   WNetEnumResource( Mango,
                     NumeroEntradas,
                     @Buffer[1],
                     LongBuffer
                     );

   for n:=1 to NumeroEntradas do
   begin
     ListItem:=FrmRecursosRed.ListView1.Items.Add;
     With ListItem do
     begin
       Caption:=String(Buffer[n].lpRemoteName);
       If Caption='' then Caption:='Inicio de red';
       SubItems.Add(String(Buffer[n].lpComment));
     end;

     if (Buffer[n].dwUsage and RESOURCEUSAGE_CONTAINER)=
         RESOURCEUSAGE_CONTAINER then
     begin
       ListItem.SubItems.Add('Servidor');
       Enumera(@Buffer[n]);
     end
       else
     begin
       if (Buffer[n].dwType and RESOURCETYPE_DISK)=
           RESOURCETYPE_DISK
           then ListItem.SubItems.Add('Disco') else
       if (Buffer[n].dwType and RESOURCETYPE_PRINT)=
           RESOURCETYPE_PRINT
           then ListItem.SubItems.Add('Impresora');
     end;
   end;
 end;
begin
{ Inicializamos nuestro ListView}
  FrmRecursosRed.ListView1.Clear;
  FrmrecursosRed.ListView1.Columns.Clear;
  with FrmRecursosRed.ListView1 do
  begin
    ViewStyle:=vsReport;
    with Columns.Add do
    begin
    { Remote Name}
      Caption:='Nombre Remoto';
      Width:=150;
    end;
    with Columns.Add do
    begin
    { Comment}
      Caption:='Comentario';
      Width:=150;
    end;
    with Columns.Add do
    begin
    { Type}
      Caption:='Tipo';
      Width:=100;
    end;
  end;
{ Rellenamos el ListView}
  Enumera(nil);
  FrmRecursosRed.ShowModal;
end;

Aparentemente funciona pero siempre me sale el mensaje de Error del ShowMessage. A que puede ser debido
__________________
Hay dos cosas infinitas: el Universo y la estupidez humana. http://www.cybertarjetas.net
Responder Con Cita
  #2  
Antiguo 28-07-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Acabo de probar el código que escribes y funciona sin ningún problema. Lo único que puedo aconsejarte es que te fijes en el valor que devuelve la función WNetOpenEnum (tendrás que asignarlo a una variable temporal) y consultes la ayuda del sdk de Windows (menú Help|Windows SDK) que lista los posibles códigos de error y sus causas para al menos darte una idea de por donde va el problema.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:21:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi