Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi [Andorra]dmFullscreen\dmWindowed dem Display Objekt zuweisen (https://www.delphipraxis.net/116988-%5Bandorra%5Ddmfullscreen%5Cdmwindowed-dem-display-objekt-zuweisen.html)

chaoslion 9. Jul 2008 18:30


[Andorra]dmFullscreen\dmWindowed dem Display Objekt zuweisen
 
Hey Leute,


kann mir mal einer erklären warum ich laut Compiler folgendes nicht machen darf:

Delphi-Quellcode:

adDraw.Display.DisplayMode := dmFullscreen,
..

aber dieses schon:

Delphi-Quellcode:

 with adDraw.Display do
  DisplayMode := dmFullscreen;
mfG

Arnulf 9. Jul 2008 21:48

Re: [Andorra]dmFullscreen\dmWindowed dem Display Objekt zuwe
 
Zitat:

adDraw.Display.DisplayMode := dmFullscreen,
weil du einen beistrich verwendest und kein semicolon ";"
lg
Arnulf

matashen 9. Jul 2008 22:53

Re: [Andorra]dmFullscreen\dmWindowed dem Display Objekt zuwe
 
Zitat:

einen beistrich
[Klugscheiss]kommata[/klugscheiss]

inherited 9. Jul 2008 23:10

Re: [Andorra]dmFullscreen\dmWindowed dem Display Objekt zuwe
 
doppelklugscheiss: nö, nur eins, deshalb komma!

chaoslion 10. Jul 2008 16:42

Re: [Andorra]dmFullscreen\dmWindowed dem Display Objekt zuwe
 
ja ne ;)
das war nur ein Fehler von mir, soll ein Semikolon sein..

Der Compiler sagt, der linken Seite kann nichts zugewiesen werden..

inherited 10. Jul 2008 21:30

Re: [Andorra]dmFullscreen\dmWindowed dem Display Objekt zuwe
 
Funktionert bei mir beides tadellos :gruebel:

igel457 11. Jul 2008 17:45

Re: [Andorra]dmFullscreen\dmWindowed dem Display Objekt zuwe
 
Display ist ein Record und eine Property. Das verträgt der Delphi-Compiler nicht so ganz. Der Weg mit dem "with" ist meiner Meinung nach das beste.

pustekuchen 14. Okt 2010 14:21

AW: [Andorra]dmFullscreen\dmWindowed dem Display Objekt zuweisen
 
Mhh bei Delphi 2010 meckert er bei mir, bei beiden Versionen :(

Zitat:

Der linken Seite kann nichts zugewiesen werden

DeddyH 14. Okt 2010 14:28

AW: [Andorra]dmFullscreen\dmWindowed dem Display Objekt zuweisen
 
Hier steht, wieso und wie man das lösen kann.

pustekuchen 14. Okt 2010 15:19

AW: [Andorra]dmFullscreen\dmWindowed dem Display Objekt zuweisen
 
Danke DeddyH

Wer das selbe Problem hat hier sind die zu ersetzenden Codezeilen

Delphi-Quellcode:
TAdDisplay = record ...
wird zu

Delphi-Quellcode:
  TAdDisplay = class
    private
      FWidth: Integer;
      FHeight: integer;
      FBitDepth: TAdBitDepth;
      FFreq: integer;
      FDisplayMode: TAdWindowDisplayMode;
    public
      {The width of the video surface.}
      property Width: Integer read FWidth write FWidth;
      {The hieght of the video surface.}
      property Height: Integer read FHeight write FHeight;
      {The bit depth the video surface should be created with. This property only
       affects the fullscreen mode.}
      property BitDepth: TAdBitDepth read FBitDepth write FBitDepth;
      {The horizontal display refresh frequncy. This property only affects the
       fullscreen mode.}
      property Freq:integer read FFreq write FFreq;
      {The mode the display is created in.
       @seealso(TAdDisplayMode)}
      property DisplayMode:TAdWindowDisplayMode read FDisplayMode write FDisplayMode;
  end;
Delphi-Quellcode:
procedure TAdDraw.SetupDisplay;
begin
   [...]
end;
wird zu
Delphi-Quellcode:
procedure TAdDraw.SetupDisplay;
begin
  //Set default display settings
  FDisplay := TAdDisplay.Create;
  FDisplay.Width := 800;
  FDisplay.Height := 600;
  FDisplay.BitDepth := ad32Bit;
  FDisplay.Freq := 0;
  FDisplay.DisplayMode := dmDefault;

  //Set default options
  Options := [aoTextures, aoBlending, aoCulling];
end;
Delphi-Quellcode:
destructor TAdDraw.Destroy
begin
   ...
end
wird zu

Delphi-Quellcode:
destructor TAdDraw.Destroy;
begin
  //Destroy the window object
  if FWnd <> nil then
    FreeAndNil(FWnd);

  //Free all loaded objects
  if AdAppl <> nil then
    Finalize;

  FProperties.Free;
  FSurfaceEventList.Free;
  FDllLoader.Free;
  FLog.Free;
  FDisplay.Free;
    inherited Destroy;
end;


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