Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Access violation archivo GDi32.dll (https://www.clubdelphi.com/foros/showthread.php?t=14061)

ciscu 08-09-2004 19:25:17

Access violation archivo GDi32.dll
 
Hola, qué tal?

Cuando corro mi aplicación y no está conectada mi impresora on-line me aparece un mensaje parecido a "Access violation ... con el archivo GDi32.dll...".

Me podéis decir cómo prevenir este error y tratarlo como si fuese un Showmessage para que pueda poner el texto que yo quiera?

O cómo hacer que los Quickreports que tiene la aplicación no intenten hacer una conexión para comprobar si hay impresoras conectadas?

Espero respuestas

Gracias de antemano!!!

ciscu 09-09-2004 09:36:37

Creo que el error viene de la impresora desconectada, pero no estoy seguro. Si tenéis tiempo, decidme algo, por favooooo......

Hasta luego!!!!

ciscu 16-09-2004 17:06:28

Hola, qué tal?

Alguien puede decirme alguna función que me diga si la impresora está conectada en red o simplemente conectada?

Agradecería una respuesta.


Gracias anticipadas.

Carlos Arevalo 04-12-2004 18:49:00

Hola CISCU veo que se te presento el mismo problema que a mi efectivamente el error se genera porque la impresora esta apagada o no hay conexión de red por otros motivos encontré la sig. Función para detectar los recursos de red que están disponibles pero no logro que me muestre las impresoras.

Si logras algo avisame.


Código:


procedure TFormImpresoras.Button1Click(Sender: TObject);
var
  RecursoRed      :TNetResource;
  Mango          :THandle;
  NumeroEntradas  :DWord;
  Buffer          :Array [1..50] of TNetResource;
  LongBuffer      :DWord;
  n              :Integer;
begin
  LongBuffer:=SizeOf(Buffer);

  if WNetOpenEnum( RESOURCE_CONNECTED,
                  RESOURCETYPE_ANY,
                  RESOURCEUSAGE_CONNECTABLE,
                  nil,
                  Mango
                  )<> No_ERROR then ShowMessage('Error');

  NumeroEntradas:=10;

  WNetEnumResource( Mango,
                    NumeroEntradas,
                    @Buffer[1],
                    LongBuffer
                    );

  Memo1.Lines.Clear;
  for n:=1 to NumeroEntradas do
    memo1.Lines.Append(Buffer[n].lpRemoteName);
end;



La franja horaria es GMT +2. Ahora son las 04:34:50.

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