Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Screenshot EAccessViolation (https://www.delphipraxis.net/10369-screenshot-eaccessviolation.html)

Patrick 17. Okt 2003 07:56


Screenshot EAccessViolation
 
Hallo, ich hätt da mal ein Problem, immer wenn ich dieses Script ausfürhre bekomme ich in der Zeile
Delphi-Quellcode:
ourImage.Width:=x;
eine "EAccessViolation"-Fehlermeldung, kann mir vielleicht einer weiterhelfen?

Delphi-Quellcode:
procedure ScreenShot(var ourImage : TBitmap);
var DCPuffer, DC: HDC;
  Puffer : HBitmap;
  x, y: integer;
begin
  DC:=CreateDC('DISPLAY', nil, nil, nil);
  x:=screen.Width;
  y:=screen.height;
  DCPuffer:=CreateCompatibleDC(DC);
  Puffer:=CreateCompatibleBitmap(DC, x, y);
  SelectObject(DCPuffer,Puffer);
  BitBlt(DCPuffer, 0, 0, x, y, dc, 0, 0, srccopy);
  ourImage.Width:=x;
  ourImage.Height:=y;
  BitBlt(ourImage.canvas.Handle, 0, 0, x, y, DCPuffer, 0, 0, srcCopy);
  DeleteDC(DCPuffer);
  DeleteDC(DC);
end;
Danke im Voraus!

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]

sakura 17. Okt 2003 08:17

Re: Screenshot EAccessViolation
 
Ich vermute mal, daß in ourImage kein gülitges Bitmap ist...

Delphi-Quellcode:
ourImage := TBitmap.Create;
...:cat:...

Patrick 28. Okt 2003 14:16

Re: Screenshot EAccessViolation
 
Das war's, danke!

Jetzt hätte ich da noch ne Frage, und zwar wie ich mit
Delphi-Quellcode:
RegisterHotKey(Handle, 1, 0, key{vk_F10/Ord('A')});
die Taste "Print" registriere...
Ich habe auch schon Probiert mit der "HotKey-Komponente" zu arbeiten, aber diese akzeptiert auch kein Print...

Warum reagiert mein Programm eigentlich nur auf HotKeys, welche nicht im Programm, welches im Vordergrund läuft, benutzt werden? Also wenn "A" ein HotKey ist, dann reagiert mein Programm nur auf "A", wenn das Programm im Vordergrund die Taste "A" nicht benutzt...

Alexander 28. Okt 2003 14:19

Re: Screenshot EAccessViolation
 
Damit die Ordnung bewahrt wird:
neue Frage :arrow: neuer Thread ;-)

Patrick 29. Okt 2003 09:16

Re: Screenshot EAccessViolation
 
Wie du meinst...
Dein Wunsch ist mein Befehl!


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz