Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fehler: Objekt oder Klassentyp erforderlich (https://www.delphipraxis.net/94076-fehler-objekt-oder-klassentyp-erforderlich.html)

Tiuri 15. Jun 2007 15:37


Fehler: Objekt oder Klassentyp erforderlich
 
Hi,

ich habe mit diesem Code eine Unit erstellt, mit der man Screenshots machen kann:

Delphi-Quellcode:
unit Screenshot;

interface

uses
 Graphics, Windows, Forms, Classes;

function MakeScreenshot: TBitmap;

implementation

const
 cTileSize = 50;

function MakeScreenshot: TBitmap;
var
  Locked: Boolean;
  X, Y, XS, YS: Integer;
  Canvas: TCanvas;
  R: TRect;
begin
  Result := TBitmap.Create; // <-- Hier bekomme ich eine Fehlermeldung
  Result.Width := Screen.Width;
  Result.Height := Screen.Height;
  Canvas := TCanvas.Create;
  Canvas.Handle := GetDC(0);
  Locked := Canvas.TryLock;
  try
    XS := Pred(Screen.Width div cTileSize);
    if Screen.Width mod cTileSize > 0 then
      Inc(XS);
    YS := Pred(Screen.Height div cTileSize);
    if Screen.Height mod cTileSize > 0 then
      Inc(YS);
    for X := 0 to XS do
      for Y := 0 to YS do
      begin
        R := Rect(
          X * cTileSize, Y * cTileSize, Succ(X) * cTileSize,
          Succ(Y) * cTileSize
        );
        Result.Canvas.CopyRect(R, Canvas, R);
      end;
  finally
    if Locked then
      Canvas.Unlock;
    ReleaseDC(0, Canvas.Handle);
    Canvas.Free;
  end;
end;

end.
Ich bekomme leider folgende Fehlermeldung:
Code:
Fehler: C:\Programme\Borland\Delphi 3\Lib\Screenshot.pas(22): Objekt oder Klassentyp erforderlich.
Ich kann mir nicht erklären, woran das liegt und habe auch mit der Forensuche nichts gefunden.

Schonmal danke im voraus,
Tiuri

Hawkeye219 15. Jun 2007 15:48

Re: Fehler: Objekt oder Klassentyp erforderlich
 
Hallo,

versuche es einmal so:

Delphi-Quellcode:
uses
//  Graphics, Windows, Forms, Classes;
  Windows, Graphics, Forms, Classes;
Beide Units - Graphics und Windows - definieren den Bezeichner TBitmap, es kommt also zu einer Namensüberdeckung. Bei der Verwendung nimmt der Compiler immer die zuletzt aufgeführte Unit.

Gruß Hawkeye

Tiuri 15. Jun 2007 15:56

Re: Fehler: Objekt oder Klassentyp erforderlich
 
jetzt funktionierts, danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:12 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